关于C++线程池的实现的思考
2024-09-04 07:10:15
今天突然对前些日子一直很疑惑的c++线程池有了新的想法。其实所谓的线程池无非就是两个技术点,一个,多线程,指工作线程和主线程分离,或者说数据接收和处理分两个线程,一般就是讲需要运行的函数放到子线程执行,这个在C++目前版本可以用std::thread来实现。另外一个是池,池子嘛,可以反复装东西,也就是子线程的服用问题,可以这样考虑,在线程池类中添加一个队列,用来存储需要执行的函数,然后顺序执行(私以为可能要考虑平均负荷来考虑需要开多少条子线程处理),主线程数据进来了,可以把新的处理函数加入这个处理队列。
另外一个问题,就是线程同步问题。目前我能想到那么几种手法。
1.navie法,添加互斥量,用一个公用锁,只要保证队列的同步就好了。
2.高贵的C11给我们提供的方法,std::condition_variable,这个能达到的目的是one by one,小胖友排排坐的感觉,当然,其中还是用了一个mutex。
最新文章
- Minor【 PHP框架】3.路由、控制器、视图
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- java笔记随笔
- leetcode : valid binary search tree
- Jboss消息 异常
- 抽象类(abstract)是否可以继承自实体类 ?
- 解析Android开发优化之:从代码角度进行优化的技巧
- http协议通信原理的问答
- Failed to read candidate component class包冲突解决方法
- UVa 727 - Equation
- iOS 之 socket 与 http
- jquery与js实现全选功能的区别---2017-05-12
- npm 离线安装依赖
- js timeout
- jQuery滚屏插件XSwitch.js
- 腾讯云 centos 一键安装nginx环境
- Xamarin.Forms.Xaml.XamlParseException: MarkupExtension not found for trans:Translate using a PCL in Release Mode
- 国内各大安卓(Android)市场的上传方式、认领、通过审核有哪些不同,有什么值得注意的地方?
- Windows 7安装超级终端连接COM口设备
- java-基于JavaMail的Java邮件发送