线程池
线程池包括: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