线程池
2015-12-26 00:31:03 3 举报
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果线程池中的线程数量超过了处理任务所需要的线程数量,那么就会有一部分空闲的线程。当有新的任务到来时,就可以利用这些空闲的线程进行处理,而不必重新创建新的线程。这样就可以提高系统的效率。
作者其他创作
大纲/内容
是
空闲线程是否小于max_thread_num
是否执行完成?
将该线程挂起
将回调函数指针以及参数设置到获得的空闲线程中
任务队列
获得一个空闲线程对象指针
执行用户回调函数
完成一次任务的执行
将该线程放入忙线程队列中
否
将该线程重新放入线程池的空闲线程队列中
销毁掉个空闲线程max_thread_num
空闲线程数是否大于max_thread_num
创建max_thread_num个空闲线程并加入空闲队列中
服务器进程
唤醒空闲线程
初始化线程池(预产生指定的线程)
pool_add_worker
pool_init
收藏
0 条评论
下一页