BOOST 线程完全攻略 - 结束语

2019独角兽企业重金招聘Python工程师标准>>> 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_module
class mymonitor
{
public:virtual bool work()
{monitor all socket packetsreturn 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core使用Nlog记录日志

NLog是适用于各种.NET平台&#xff08;包括.NET标准&#xff09;的灵活&#xff0c;免费的日志记录平台。NLog使写入多个目标变得容易 。&#xff08;数据库&#xff0c;文件&#xff0c;控制台&#xff09;并即时更改日志记录配置。NLog支持结构化 和传统日志记录。NLog的重点…

动态路由协议(RIP)

动态路由协议包括距离矢量路由协议和链路状态路由协议。RIP&#xff08;Routing InformationProtocols&#xff0c;路由信息协议&#xff09;是使用最广泛的距离矢量路由协议。RIP 是为小型网络环境设计的&#xff0c;因为这类协议的路由学习及路由更新将产生较大的流量&#x…

python地理空间分析指南pdf邓世超_Python地理空间分析指南(第2版)源代码.zip

【实例简介】Python地理空间分析指南(第2版)的随书源代码&#xff0c;需要的朋友可以下载一下~~【实例截图】【核心代码】Python地理空间分析指南(第2版)源代码└── Python地理空间分析指南(第2版)源代码├── B04606_01_Code│ └── B04606_01_01_SimpleGIS.py├── B…

这几道挑战极限的烧脑题,烧脑到爽爽爽爽爽!

▲ 点击查看 在美国&#xff0c;有一个天才儿童计划&#xff0c;选拔一批“天才”儿童进入天才班。这个计划是为了保证每个人接受平等教育机会的同时&#xff0c;也为精英成长提供合适的土壤。美国所谓的天才和精英是怎样的标准呢&#xff1f;进入天才班的儿童首先要通过一个叫…

转.h和.cpp文件的区别

关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话, 就请使用多个编译单元吧.…

WPF 跟随拖动改变的三次贝塞尔曲线思路

代码不多&#xff0c;思路也很简单&#xff0c;先看看效果&#xff1a;简单示例&#xff0c;所有代码都在MainWindow.xaml和MainWindow.xaml.cs内&#xff0c;Xaml代码&#xff1a;<Window x:Class"WPFDemos.MainWindow"xmlns"http://schemas.microsoft.com/…

php语言难点,PHP知识难点TOP3,挑战一下你

PHP知识难点TOP3,挑战一下你这里有新鲜出炉的PHP设计模式&#xff0c;程序狗速度看过来&#xff01;PHP开源脚本语言PHP(外文名: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xf…

thymeleaf加载不了js引用_网站首页加载慢解决方案

打开网页&#xff0c;用户最满意的时间是2-5秒&#xff0c;如果用户等待超过10秒&#xff0c;99%的用户会关闭这个网页。那么&#xff0c;是什么原因会导致网站打开慢&#xff1f;又有什么办法解决呢&#xff1f;一般来说&#xff0c;http请求过多、网页过大、服务器性能过差等…

vsftpd配置文件详解

转载&#xff1a;http://yuanbin.blog.51cto.com/363003/108262&#xff08;如有转载请注明原作者出处&#xff0c;谢谢~&#xff09;vsftpd配置文件详解1.默认配置&#xff1a;1>允许匿名用户和本地用户登陆。anonymous_enableYESlocal_enableYES2>匿名用户使用的登陆名…

基础设备----笔记

插一条&#xff1a;OSI七层网络模型网络设备调制解调器&#xff1a;将数据&#xff0c;在数字信号和模拟信号之间转换网卡&#xff1a;基本数据转换、信息包的装配和拆装、网络存取控制、数据缓存、生成网络信号等。网卡按主板总线类型分类&#xff1a;ISA---分为8位和16位两种…

黑客大佬:我是如何让50个文件一起骗过AI安防系统的?

全世界只有3.14 % 的人关注了爆炸吧知识转自&#xff1a;大数据文摘编译&#xff1a;邢畅、张睿毅、钱天培你有没有想过当黑客呢&#xff1f;破解手机密码&#xff0c;黑入公司系统&#xff0c;甚至…控制全球电脑。打住打住&#xff01;违法犯罪的念头显然不能有。再退一步讲&…

XML转义字符

和 & &amp; 单引号 &apos; 双引号 " &quot; 大于号 > > 小于号 < < 下面的字符在 [XML]中被定义为 空白(whitespace)字符&#xff1a; 空格 (…

WTM框架使用技巧之:CI/DI(持续集成/持续部署)

快点关注我们吧作者介绍王晓东&#xff0c;从事工业物联网行业多年&#xff0c;深入了解纺织、汽车零部件等制造业业务。开发过MES、WCS、SCADA、智能产线、质量追溯、工业通讯、linux网关等系统。对跨平台部署、运维有一定经验。使用WTM框架提高了40%的开发效率&#xff0c;WT…

php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...

“一个时代结束了&#xff0c;另一个时代开始了。”Framework Interoperability Group(框架可互用性小组)&#xff0c;简称 FIG&#xff0c;成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起&#xff0c;在吸纳了许多优秀的大脑和强健的体魄后&#xff0c;提出了 PSR-0 …

二维数组各行分别求和_【PyTorch入门】之十分钟看懂二维卷积层的运算、实现及应用...

原文链接&#xff1a;【动手学深度学习笔记】之二维卷积层​mp.weixin.qq.com1.二维卷积层本节介绍卷积神经网络中最常见的二维卷积层。二维卷积层常用来处理图像数据&#xff0c;它具有两个空间维度&#xff08;高和宽&#xff09;。1.1二维互相关运算1.1.1原理分析在二维互相…

python3 UnicodeEncodeError: 'ascii' 错误

2019独角兽企业重金招聘Python工程师标准>>> python 3.4 使用urllib.request.urlopen() 打开url时候&#xff0c;如果url中包含中文&#xff0c;出现了“UnicodeEncodeError: ascii codec cant encode ”的错误&#xff0c;修复步骤如下 在url中有中文的地方加入…

小女生的Linux技术~~~Linux常识~~21-30

小女生的Linux技术~~~Linux常识~~21-30 Q21 如何查看当前用户的系统行为? A&#xff1a; 使用命令w查看当前用户的系统行为&#xff0c; w root Q22 如何查看曾经登录系统的用户名 ? A:使用who命令查看当前用户登录情况 who -u更详细些 Q23查看所有进程的方法是什么&#xff…

让批处理文件(.bat)程序无窗口(隐藏/静默)运行

将下面的代码保存为.vbs 文件&#xff0c;把 test.bat 改成你的批处理文件&#xff0c;然后运行.vbs 文件 --------------------------------------------------------------set GuWSWScript.CreateObject("WScript.Shell") GuWS.Run "test.bat",vbhide转载…

女朋友的道歉方式

1 女朋友的道歉方式2 看吧,无聊的时候什么事都干得出来3 这猫太坏了&#xff01;4 还以为是特效,原来是实物 5 叉子的妙用6 也太信任这块玻璃了吧……7 棉花糖炸酱面......大家感受一下你点的每个赞&#xff0c;我都认真当成了喜欢

单元测试(三)基本使用

介绍本文来演示一下同事教导后的写法&#xff0c;同样有些单元测试是为了演示而写的单元测试。本文使用组件&#xff1a;Xunit、Moq以及dotNet相关知识注&#xff1a;本文内容基于上一篇操作首先指定一个方法编写单元测试&#xff0c;并且要保证没有其他因素干扰的情况下去进行…