博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BOOST 线程完全攻略 - 结束语
阅读量:5950 次
发布时间:2019-06-19

本文共 858 字,大约阅读时间需要 2 分钟。

hot3.png

全文介绍了3个boost::thread的扩展类,希望能给大家书写多线程代码带来便捷。thread -> controlled_module_ex ->controlled_module那么我们具体在什么情况下选用不同的扩展类呢?1.如果你只想创建一个生命期比较短的子线程,做一件独立事务,例如统计什么的,那么不需要用到扩展类void threadCount(){int num = 0;  for(int i=0;i<1000000;i++){ num+=i;}cout << num << endl;}int _tmain(int argc, _TCHAR* argv[]){   boost::thread thd(threadCount);   thd.join();}2.如果你想开一个子线程,生命期很长,例如后台监控网络数据包,但是主线程要能有效的终止这个子线程,那么就要用到controlled_moduleclass mymonitor{public:  virtual bool work(){  monitor all socket packets  return true;}}int _tmain(int argc, _TCHAR* argv[]){  mymonitor m;  m.start();  //........  m.stop();  return 0;}3.如果子线程不光生命周期长,而且与主线程经常有消息通讯,或数据传递等等,那么就要用到controlled_module_ex,例如TCP监听服务子线程,controlled_module_ex是最常用到的一个类,至于完整的范例,例如如何实现tcpserver,有时间我会把代码也贴出来。4.如果子线程是一个有串行事务逻辑的,例如第一步登录银行系统,第二部破解系统密码,第三部拿钱 开个玩笑:),那么就要用到thread类了

转载于:https://my.oschina.net/lcxidian/blog/381654

你可能感兴趣的文章
【React js】 笔记
查看>>
网络时间戳
查看>>
Node.js 插件安装及常用插件
查看>>
iOS开发小技巧--iOS程序进入后台运行的实现
查看>>
窗口改变的时候自动刷新浏览器
查看>>
冒泡排序
查看>>
Postgresql 日志相关
查看>>
什么是微格式,其优点是什么?
查看>>
VS2017发布微服务到docker
查看>>
lombok
查看>>
Dev-FAT-UAT-PRO
查看>>
Maven, IntellJ Idea 配置注意点
查看>>
Android开发学习总结(五)——Android应用目录结构分析(转)
查看>>
观察者模式
查看>>
python操作excel (openpyxl)
查看>>
[PHP]PHP rpc框架hprose测试
查看>>
Visual Studio通过Cordova支持混合跨平台移动开发
查看>>
java中的引用传递问题
查看>>
Android学习笔记之:android更新ui的几种经常用法
查看>>
VBA学习笔记(8)-Application Object Members
查看>>