其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
再谈线程池的实现

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在win2K以后的操作系统里有几个线程池的api : QueueUserWorkItem, WorkItemFunc, 等(可参阅msdn)。

这里我不是介绍他们的用法。
我现在一个工程当中,需要用到线程池,主要是效率的考虑。

在很早之前我其实已经实现过线程池,只是那时,没有整理,另一方面是,工程一般都很大,不适合为大家作为范例来学习。

我这里实现了一个线程池,主要是我也想把自己的一些思想稳定下来.
原理:
如图
关键技术
多线程,事件/同步,回调机制。
使用细节.

BOOL CThreadDlg::OnInitDialog()
{
CDialog::OnInitDialog();


m_threadpool.SetPF(Test);
m_threadpool.Run();
return TRUE; // return TRUE unless you set the focus to a control
}

源码可以在http://www.vczx.com/article/show.php?id=435处得到。

最新的版本更安全,代码更完善。不过,这里我不知道如何上传源程序。

赫赫,有空大家多交流。




相关文章

相关软件