今天突然对前些日子一直很疑惑的c++线程池有了新的想法。其实所谓的线程池无非就是两个技术点,一个,多线程,指工作线程和主线程分离,或者说数据接收和处理分两个线程,一般就是讲需要运行的函数放到子线程执行,这个在C++目前版本可以用std::thread来实现。另外一个是池,池子嘛,可以反复装东西,也就是子线程的服用问题,可以这样考虑,在线程池类中添加一个队列,用来存储需要执行的函数,然后顺序执行(私以为可能要考虑平均负荷来考虑需要开多少条子线程处理),主线程数据进来了,可以把新的处理函数加入这个处理队列。

  另外一个问题,就是线程同步问题。目前我能想到那么几种手法。
    1.navie法,添加互斥量,用一个公用锁,只要保证队列的同步就好了。

    2.高贵的C11给我们提供的方法,std::condition_variable,这个能达到的目的是one by one,小胖友排排坐的感觉,当然,其中还是用了一个mutex。

最新文章

  1. Minor【 PHP框架】3.路由、控制器、视图
  2. Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
  3. java笔记随笔
  4. leetcode : valid binary search tree
  5. Jboss消息 异常
  6. 抽象类(abstract)是否可以继承自实体类 ?
  7. 解析Android开发优化之:从代码角度进行优化的技巧
  8. http协议通信原理的问答
  9. Failed to read candidate component class包冲突解决方法
  10. UVa 727 - Equation
  11. iOS 之 socket 与 http
  12. jquery与js实现全选功能的区别---2017-05-12
  13. npm 离线安装依赖
  14. js timeout
  15. jQuery滚屏插件XSwitch.js
  16. 腾讯云 centos 一键安装nginx环境
  17. Xamarin.Forms.Xaml.XamlParseException: MarkupExtension not found for trans:Translate using a PCL in Release Mode
  18. 国内各大安卓(Android)市场的上传方式、认领、通过审核有哪些不同,有什么值得注意的地方?
  19. Windows 7安装超级终端连接COM口设备
  20. java-基于JavaMail的Java邮件发送

热门文章

  1. 字符串-mask-每个元音包含偶数次的最长子字符串
  2. PAT-B 1003. 我要通过!(20) Java版
  3. C# 基础知识系列- 6 Lambda表达式和Linq简单介绍
  4. HDU 1754 I hate it 树状数组维护区间最大值
  5. dapp 是什么?dapp 和 app 有什么区别?一文明白 dapp。
  6. Homebrew中国镜像安装与配置
  7. js 拖拽 鼠标事件,放大镜效果
  8. Centos 8 上安装 Consul
  9. js 的 new 干了什么
  10. SpringBoot常见注解的解释