青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

::^喬喬^::明鏡臺::原創空間::C#.NET2.0,C++技術BLOG
人最重要的是心境,一顆平靜安穩的心才能更好的進步,保持自己的心態.成為夢想中的高手QQ群:8664695
posts - 17,comments - 32,trackbacks - 0

一、基本使用
頭文件 <boost/thread/thread.hpp>

namespace ?boost? {
??
class ?thread;
??
class ?thread_group;
}

?

1、thread
thread的構造形式為explicit thread(const boost::function0<void>&);
如果你對boost::function不熟,那么我聽我簡短的介紹一下:
boost::function0<void>可以簡單看為:一個無返回(返回void),無參數的函數。
這里的函數也可以是類重載operator()構成的函數。

舉例來說如下形都可以轉化為function0<void>。

1 void ?run( void )
2 {
3 }

4
5 struct ?Run
6 {
7 ???? void ? operator ()( void )? {}
8 }
;
9

?

只要帶參數構造一個thread實例那么就是構建了一個線程,相當的方便快捷。
于是有了我們第一個例子:
例一:

?1 #include? < boost / thread.hpp >
?2 #include? < iostream >
?3
?4 struct ?Run
?5 ???? {
?6 ???? void ? operator ()( void )
?7 ???????? {
?8 ????
?9 ????????std::cout << __FUNCTION__ << std::endl;
10 ????????}

11 ????}
;
12 void ?run( void )
13 ???? {
14 ????std::cout << __FUNCTION__ << std::endl;
15 ????}

16
17 int ?main( int ?argc,? char * ?argv[])
18 ???? {
19 ????Run?r;
20 ????boost::thread?thrd(r);
21 ????boost::thread?thrdb(run);
22 ???? return ? 0 ;
23 ????}

24
25

?

運行后發生了什么?線程起動了,但一閃而過,結果都沒能輸出全就運行結束了。

那該怎么辦呢?
答:使用thread::join,當join后的thread在該線程未執行結束會一直處于阻塞狀態。

改下例子中主程序main為

1 ???? {
2 ????Run?r;
3 ????boost::thread?thrd(r);
4 ????boost::thread?thrdb(run);
5 ????thrd.join();
6 ????thrdb.join();
7 ???? return ? 0 ;
8 ????}


看到結果了,但似乎線程有點不同步,呃。。暫時放在一旁吧。
什么?你覺得void(void)的函數連變量入口都沒,傳值不方便?其實你錯了,當你用會了boost::bind,會發現函數有多少參數都不是問題,都可以輕松bind為void(void)形式。我幾乎可以說boost::thread最基本的的使用就是boost::thread+boost::function+boost::bind的結合。

2、thread_group
大家一定注意到除了thread還有thread_group,顧名思義,thread_group就是thread的group,看看main主程序有點煩瑣,引入thread_group看看效果
先認識下thread_group的成員函數:

?

1 thread * ?create_thread( const ?boost::function0 < void >& );? // 創建一個線程
2 void ?add_thread(thread * );? // 加入一個已存在的線程
3 void ?remove_thread(thread * );? // 移除一個線程
4 void ?join_all();? // 全部等待結束

?

很清晰,改造開始

1 ???? {
2 ????Run?r;
3 ????boost::thread_group?grp;
4 ????grp.create_thread(r);? // 使用create_thread
5 ????grp.add_thread( new ?boost::thread(run));? // 使用add_thread
6 ????grp.join_all();
7 ???? return ? 0 ;
8 ????}


運行,結果完全一樣。

注意:當thread_group析構時會自動delete已加入的thread

1 ???? {
2 ????boost::thread_group?grp;
3 ????boost::thread * ?thrd = grp.create_thread(r);
4 ????grp.join_all();
5 ????delete?thrd;
6 ????}
? // 錯誤,?grp在析構時對已刪除的thrd再進行刪除

?

若要手動管理,可改為:

1 ???? {
2 ????Run?r;
3 ????boost::thread_group?grp;
4 ????boost::thread * ?thrd = grp.create_thread(r);
5 ????grp.join_all();
6 ????grp.remove_thread(thrd);? // 把thrd移出grp
7 ????delete?thrd;
8 ???? return ? 0 ;
9 ????}

?

好了,

posted on 2009-05-09 19:13 ^喬喬^ 閱讀(1899) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99国产精品久久久| 国产精品高清在线观看| 亚洲欧美日本日韩| 久久久免费精品| 欧美肥婆bbw| 国产精品超碰97尤物18| 亚洲福利电影| 欧美一区二区精品在线| 欧美成人中文字幕在线| 亚洲永久在线| 欧美日韩高清区| 亚洲成人自拍视频| 久久er精品视频| 欧美 日韩 国产在线| 午夜在线a亚洲v天堂网2018| 欧美成人a视频| 国产精品高潮呻吟久久| 亚洲精品综合久久中文字幕| 久久精品免费播放| 99国内精品久久| 欧美二区在线看| 在线国产亚洲欧美| 久久婷婷久久| 午夜精品成人在线| 国产精品qvod| 亚洲风情亚aⅴ在线发布| 亚洲一区二区三区在线播放| 亚洲福利视频一区二区| 久久成人一区二区| 亚洲国产精品久久久久秋霞蜜臀| 欧美激情无毛| 国产精品久久国产三级国电话系列| 99re6这里只有精品| 亚洲欧洲三级| 国产精品xxxav免费视频| 欧美一级艳片视频免费观看| 午夜精品视频在线观看| 狠狠色2019综合网| 亚洲国产精品第一区二区| 欧美日韩亚洲一区二区三区| 欧美一区二区三区另类| 久久久久久久尹人综合网亚洲| 1024精品一区二区三区| 亚洲精品国产视频| 国产精品久久久久久久久久妞妞| 欧美在线不卡视频| 免费在线观看一区二区| 亚洲在线视频网站| 欧美在线精品免播放器视频| 亚洲精品一区二区三区蜜桃久| 一区二区三区 在线观看视| 国产一级久久| 在线观看一区欧美| 最新日韩精品| 一本大道久久精品懂色aⅴ | 欧美精品啪啪| 性18欧美另类| 欧美国产日韩免费| 久久久久久一区| 欧美日本一道本| 先锋影音国产一区| 欧美精品久久久久久久久久| 久久精彩免费视频| 欧美日韩亚洲网| 免费在线亚洲| 国产精品久久国产愉拍| 亚洲日本无吗高清不卡| 黄色资源网久久资源365| 在线视频一区观看| 久久亚洲精品一区二区| 亚洲欧美日韩国产另类专区| 欧美韩日一区| 久久蜜桃精品| 国产精品午夜久久| 亚洲免费观看| 亚洲激情av| 久久久在线视频| 久久高清国产| 国产精品扒开腿做爽爽爽软件| 欧美国产91| 在线精品一区二区| 欧美在线网站| 久久国产精品毛片| 国产精品一二一区| 亚洲无毛电影| 亚洲女与黑人做爰| 欧美视频在线观看| aaa亚洲精品一二三区| 欧美高清视频一区二区| 在线成人h网| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲一区三区视频在线观看| 欧美精品一区二区在线播放| 亚洲人成人一区二区在线观看| 亚洲人成亚洲人成在线观看图片 | 亚洲精品一二区| 91久久中文| 免费在线成人av| 欧美激情一区在线| 亚洲伦理在线免费看| 欧美凹凸一区二区三区视频| 亚洲二区在线| 日韩写真视频在线观看| 欧美高清视频一区二区| 亚洲区在线播放| 亚洲一二三区精品| 国产精品社区| 欧美中文字幕在线| 免费在线观看精品| 亚洲精品久久在线| 欧美日韩成人一区二区| 日韩午夜在线播放| 午夜精品久久久久久久99樱桃 | 一区二区三区福利| 欧美片在线观看| 亚洲性xxxx| 久久久噜噜噜久久狠狠50岁| 亚洲电影中文字幕| 欧美日韩亚洲视频| 欧美在线3区| 免费观看成人www动漫视频| 亚洲精品国产欧美| 国产精品yjizz| 久久国产精品网站| 亚洲高清在线精品| 午夜亚洲福利| 在线观看亚洲| 欧美视频二区| 久久亚洲一区二区三区四区| 99视频精品全部免费在线| 欧美与黑人午夜性猛交久久久| 亚洲激情成人网| 欧美日韩精品一区二区在线播放| 亚洲女同同性videoxma| 欧美国产日本韩| 欧美怡红院视频| 亚洲精选一区二区| 国产色产综合产在线视频| 男人的天堂亚洲在线| 亚洲免费在线视频| 亚洲黄网站在线观看| 午夜精品久久久久久久白皮肤 | 亚洲一区图片| 伊人久久婷婷色综合98网| 欧美金8天国| 久久夜精品va视频免费观看| 亚洲天堂av图片| 亚洲日本成人女熟在线观看| 久久久久久久成人| 午夜精品久久久久99热蜜桃导演| 1769国产精品| 国产在线麻豆精品观看| 国产精品高清网站| 欧美激情精品久久久久久蜜臀| 性欧美长视频| 中文国产成人精品久久一| 亚洲国产精品一区制服丝袜| 久久久之久亚州精品露出| 亚洲伊人伊色伊影伊综合网| 亚洲国产欧美一区二区三区丁香婷| 国产精品美女久久久| 欧美精品18| 久久久久99| 欧美在线中文字幕| 亚洲欧美日韩国产综合精品二区 | 欧美成人免费网| 欧美主播一区二区三区| 亚洲一区日本| 99精品福利视频| 亚洲日本成人网| 亚洲高清久久久| 你懂的视频一区二区| 久久精品麻豆| 久久精品国产清高在天天线| 性欧美长视频| 亚洲一区在线免费| 亚洲婷婷在线| 宅男噜噜噜66国产日韩在线观看| 亚洲国产小视频在线观看| 亚洲成人在线| 亚洲欧洲精品一区二区三区| 韩国av一区二区| 久久国产精彩视频| 亚洲第一精品夜夜躁人人爽| 久久午夜精品| 美腿丝袜亚洲色图| 久久婷婷成人综合色| 免费不卡在线观看| 欧美激情精品久久久久久蜜臀| 麻豆成人av| 亚洲电影免费观看高清完整版在线| 亚洲国产精品成人一区二区| 亚洲国产一区在线观看| 亚洲精品日韩综合观看成人91| 亚洲看片一区| 9色porny自拍视频一区二区| 亚洲一区激情| 久久国产精品高清| 欧美成年人网| 欧美色综合网|