再读C++线程池

时间:2014-01-21 21:16:58   收藏:0   阅读:510

最近仔细看了一下https://github.com/henkel/threadpool代码,总体感觉非常精巧,使用了 boost库的bind function完成了线程池与业务端的完全解耦;所有的任务最终都会被封装成为 function对象push进入队列。

这个库里面用了几个boost库里面的类,如recursivemutex,referencewrapper,thread等;有兴趣的 可以研究一下。

首先来说threadpool的结构: bubuko.com,布布扣

之前在读这段代码的时候,worker中采用threadpool的execute_task函数作为线程的可执行函数,这样保证了 所有线程与任务队列的解耦,任务队列里面可以采用多重的策略,如果放到了worker会影响程序的可维护性, 很多策略也发挥不了作用

原文:http://www.cnblogs.com/xdjackfeng/p/3528559.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!