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

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

首先来说threadpool的结构:

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

最新文章

  1. 算法与数据结构(十七) 基数排序(Swift 3.0版)
  2. C# 中 SQLite 使用介绍
  3. 使用Webpack和Babel来搭建React应用程序
  4. POJ 1273 Drainage Ditches -dinic
  5. 改变select组件的option选中状态的快捷方法
  6. mac itunes ios 7 升级 出现 this device isn't eligible for the requested build
  7. 不为人知的scanf
  8. Smokeping
  9. 移动开发常用head部分
  10. 5分钟了解swagger
  11. GitHub Git 简单操作
  12. 使用ipns 解决ipfs 内容更新的问题
  13. windows到ubuntu
  14. 微信小程序 c#后台支付结果回调
  15. PC和FPGA间的串口通信实现
  16. 51nod1203 JZPLCM 线段树 + 扫描线
  17. 【SSO单点系列】(6):CAS4.0 单点流程序列图(中文版)以及相关术语解释(TGT、ST、PGT、PT、PGTIOU)
  18. Block系列2:Block内存管理
  19. 使用CSS3制作各种形状
  20. 虫草医药网站html模板

热门文章

  1. fiddler_技巧01
  2. Baltic2008联合内阁
  3. Android 数据存储五种方式
  4. PPP协议
  5. mybatis原理
  6. VB模拟键盘输入的N种方法
  7. C3P0的两种使用方法
  8. JAVA 线程中的异常捕获
  9. C#设置通过代理访问ftp服务器
  10. 20169212《Linux内核原理与分析》第八周作业