再谈线程池的实现

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在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处得到。

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

赫赫,有空大家多交流。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航