BOOST 线程完全攻略 - 结束语
生活随笔
收集整理的這篇文章主要介紹了
BOOST 线程完全攻略 - 结束语
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
全文介紹了3個(gè)boost::thread的擴(kuò)展類,希望能給大家書寫多線程代碼帶來(lái)便捷。 thread?->?controlled_module_ex?->controlled_module 那么我們具體在什么情況下選用不同的擴(kuò)展類呢? 1.如果你只想創(chuàng)建一個(gè)生命期比較短的子線程,做一件獨(dú)立事務(wù),例如統(tǒng)計(jì)什么的,那么不需要用到擴(kuò)展類 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.如果你想開一個(gè)子線程,生命期很長(zhǎng),例如后臺(tái)監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包,但是主線程要能有效的終止這個(gè)子線程,那么就要用到 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.如果子線程不光生命周期長(zhǎng),而且與主線程經(jīng)常有消息通訊,或數(shù)據(jù)傳遞等等,那么就要用到controlled_module_ex,例如TCP監(jiān)聽服務(wù)子線程,controlled_module_ex是最常用到的一個(gè)類,至于完整的范例,例如如何實(shí)現(xiàn)tcpserver,有時(shí)間我會(huì)把代碼也貼出來(lái)。 4.如果子線程是一個(gè)有串行事務(wù)邏輯的,例如第一步登錄銀行系統(tǒng),第二部破解系統(tǒng)密碼,第三部拿錢?開個(gè)玩笑:),那么就要用到thread類了轉(zhuǎn)載于:https://my.oschina.net/lcxidian/blog/381654
總結(jié)
以上是生活随笔為你收集整理的BOOST 线程完全攻略 - 结束语的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿拉伯数字转成大写
- 下一篇: python3 UnicodeEncod