过去使用多线程的时候,一直很担心线程创建和销毁对程序造成的负担,最近看到一个线程池的概念,眼前一亮,觉得这个很有用就收集了一些资料在下面。线程池很好的解决了轻量级的线程被频繁调用造成的系统负担的问题。而且用线程池会让代码更加明了,容易读懂,比如我们不要操心每一个小线程本身的生命周期, 试想MPI之流下面应该也有线程池的概念, boost 本身并没有基于线程池的实现,倒是有第三方的在boost基础上加上线程池支持的。
如何用threadpool
1. 将threadpool的代码copy到boost下面
2. link boost_thread pthread
很显然作者深得 policy的精华。
http://blog.youkuaiyun.com/byxdaz/article/details/6299020
http://threadpool.sourceforge.net/