现在的位置: 首页 > 综合 > 正文

一个模板线程池

2013年02月02日 ⁄ 综合 ⁄ 共 14629字 ⁄ 字号 评论关闭

一个模板线程池

下载源代码

一个模板线程池,没有使用信号灯,互斥体等同步对象。

主要思路是初始化一个管理线程,管理线程通过消息协调任务链表和工作线程之间如何更好的工作,消息通信使用PostThreadMessage。

下面是模板线程池源代码

下面介绍如何使用这个模板线程池

1.任务类和模板实例化线程池类的定义及其实现

 

实现代码很简单,下面是线程池任务处理过程

 

2. 在对话框中实例化这个线程池类,并使用

a.添加头文件,本例中是

b.实例化这个线程池类,本例中是添加到类成员变量中

c.初始化线程池对象

注:默认是初始化10个工作线程,你也可以在有空闲线程的时候调用SetThreadNum设置工作线程个数.

d.添加任务到线程池对象中

 

在VC6.0中可能会有内存泄露(大小:工作线程个数*sizeof(任务类)),在VS2008SP1中测试没有内存泄露.

需要在各个VS版本测试,请修改模板线程池的析构函数的_MSC_VER宏为对应的VS版本即可.

 

 

抱歉!评论已关闭.