线程池

线程池包括:n个执行任务的线程,一个任务队列,一个管理线程

1). 预先启动一些线程,线程负责执行任务队列中的任务,当队列空时,线程挂起。

2). 调用的时候,直接往任务队列添加任务,并发信号通知线程队列非空。

3). 管理线程负责监控任务队列和系统中的线程状态,当任务队列为空,线程数目多且很多处于空闲的时候,便通知一些线程退出以节约系统资源;当任务队列排队任务多且线程都在忙,便负责再多启动一些线程来执行任务,以确保任务执行效率。

附:http://lonelyc.blog.51cto.com/8072409/1315434

https://github.com/micwu/ThreadPool/blob/master/threadpool.c

http://www.cankaoxiaoxi.com/roll10/bd/20170726/2212759.shtml

http://paste.ubuntu.com/22767156/

原文地址:https://www.cnblogs.com/guxuanqing/p/7204526.html