首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

线程池 C++()

2012-06-27 
线程池 C++(在线等)线程池创建一个线程类对象线程。。。等待。。。运行返回空闲队列注释:线程池里创建线程对象,

线程池 C++(在线等)
线程池

创建一个线程类对象 线程
   
。。。等待
 。。。 运行
返回
 
空闲队列

注释:线程池里创建线程对象,然后线程启动,进入“等待任务”状态,我现在想问的是线程运行完之后怎么返回到线程池中的“空闲队列”中。急....

[解决办法]
……在线程即将退出的时候将其入空闲队列,或者是改变一个标志位,由管理线程发现其状态是“空闲”。
[解决办法]
定义一个GetTask函数,
如果队列有task直接返回,否则将线程投入到空闲队列中。

有新的task进入管理线程的队列时,管理线程从空闲队列中选择一个空闲线程,将其唤醒
并将task交给这个线程,空闲线程此时从GetTask中返回并获得task.


while(task = GetTask())
{
// do task
}

热点排行