亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++程序中啟動線程的方法

2020-01-26 15:02:14
字體:
來源:轉載
供稿:網友

 C++11 引入一個全新的線程庫,包含啟動和管理線程的工具,提供了同步(互斥、鎖和原子變量)的方法,我將試圖為你介紹這個全新的線程庫。

如果你要編譯本文中的代碼,你至少需要一個支持 C++11 的編譯器,我使用的是 GCC 4.6.1,需要使用 -c++0x 或者 -c++11 參數來啟用 C++11 的支持。

啟動線程

在 C++11 中啟動一個線程是非常簡單的,你可以使用 std:thread 來創建一個線程實例,創建完會自動啟動,只需要給它傳遞一個要執行函數的指針即可,請看下面這個 Hello world 代碼:

 

#include <thread>#include <iostream> void hello(){  std::cout << "Hello from thread " << std::endl;} int main(){  std::thread t1(hello);  t1.join();   return 0;}


所有跟線程相關的方法都在 thread 這個頭文件中定義,比較有意思的是我們在上面的代碼調用了 join() 函數,其目的是強迫主線程等待線程執行結束后才退出。如果你沒寫 join() 這行代碼,可能執行的結果是打印了 Hello from thread 和一個新行,也可能沒有新行。因為主線程可能在線程執行完畢之前就返回了。

線程標識

每個線程都有一個唯一的 ID 以識別不同的線程,std:thread 類有一個 get_id() 方法返回對應線程的唯一編號,你可以通過 std::this_thread 來訪問當前線程實例,下面的例子演示如何使用這個 id:
 

#include <thread>#include <iostream>#include <vector> void hello(){  std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;} int main(){  std::vector<std::thread> threads;   for(int i = 0; i < 5; ++i){    threads.push_back(std::thread(hello));  }   for(auto& thread : threads){    thread.join();  }   return 0;}


依次啟動每個線程,然后把它們保存到一個 vector 容器中,程序執行結果是不可預測的,例如:

  Hello from thread 140276650997504  Hello from thread 140276667782912  Hello from thread 140276659390208  Hello from thread 140276642604800  Hello from thread 140276676175616

也可能是:

  Hello from thread Hello from thread Hello from thread 139810974787328Hello from thread 139810983180032Hello from thread  139810966394624  139810991572736  139810958001920

或者其他結果,因為多個線程的執行是交錯的。你完全沒有辦法去控制線程的執行順序(否則那還要線程干嗎?)


當線程要執行的代碼就一點點,你沒必要專門為之創建一個函數,你可以使用 lambda 來定義要執行的代碼,因此第一個例子我們可以改寫為:
 

#include <thread>#include <iostream>#include <vector> int main(){  std::vector<std::thread> threads;   for(int i = 0; i < 5; ++i){    threads.push_back(std::thread([](){      std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;    }));  }   for(auto& thread : threads){    thread.join();  }   return 0;}

在這里我們使用了一個 lambda 表達式替換函數指針,而結果是一樣的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久91精品国产| 色无极亚洲影院| 久久97久久97精品免视看| 福利视频导航一区| 亚洲色图日韩av| 欧美精品videossex性护士| 久久国产精品网站| 亚洲一区二区国产| 久久中文久久字幕| 国产欧亚日韩视频| 91高清视频免费观看| 97超级碰碰人国产在线观看| 亚洲人成77777在线观看网| 精品国产乱码久久久久久虫虫漫画| 国产日韩在线免费| 国色天香2019中文字幕在线观看| 7777精品视频| 亚洲色在线视频| 亚洲人午夜精品免费| 久久久久久中文| 成人有码在线视频| 亚洲国产日韩欧美综合久久| 2023亚洲男人天堂| 国产一区二区三区免费视频| 亚洲一区美女视频在线观看免费| 久久国产精品电影| 97色在线观看| 欧美多人乱p欧美4p久久| 久久伊人精品视频| 亚洲影院污污.| 亚洲精品自拍视频| 精品激情国产视频| 成人午夜小视频| 欧美日韩综合视频网址| 国产在线观看精品一区二区三区| 精品亚洲男同gayvideo网站| 日韩激情视频在线| 国产成人精品久久| 亚洲美女动态图120秒| 日韩欧美中文字幕在线播放| www.日本久久久久com.| 青青草国产精品一区二区| 日韩第一页在线| 国产精品丝袜白浆摸在线| 国产精品久久久久久久久久久久久久| 国产亚洲精品91在线| 亚洲欧美另类在线观看| 亚洲人成电影网站色| 亚洲欧美中文日韩在线| 国产一区二区日韩| 91精品国产高清自在线看超| 麻豆成人在线看| 77777少妇光屁股久久一区| 亚洲的天堂在线中文字幕| 久久久最新网址| 国产精品va在线播放我和闺蜜| 8x海外华人永久免费日韩内陆视频| 日本成人激情视频| 国产精品永久免费视频| 日本免费一区二区三区视频观看| 欧美极品在线播放| 日韩在线视频免费观看高清中文| 国产成人高清激情视频在线观看| 亚洲第一免费网站| 国产成人精品午夜| 欧美专区在线观看| 国产精品久久久久国产a级| 日韩国产欧美精品一区二区三区| 国产精品久久久久久久天堂| 91大神在线播放精品| 亚洲图片欧洲图片av| 亚洲精品美女久久久久| 国产欧美日韩免费| 亚洲第一免费网站| 中文字幕日韩欧美在线| 亚洲在线免费视频| 九九热最新视频//这里只有精品| 91精品国产99久久久久久| 国产欧美日韩丝袜精品一区| 成人精品一区二区三区| 中文字幕国产日韩| 久久久中精品2020中文| 视频一区视频二区国产精品| 日韩性生活视频| 久久人91精品久久久久久不卡| 国产精品av电影| 亚洲最新av在线| 国产成人精品a视频一区www| 91在线高清视频| 国内精品国产三级国产在线专| 日韩中文字幕久久| 日韩av中文字幕在线播放| 久久中文精品视频| 国产精品91久久久久久| www.xxxx精品| 亚洲国产精品小视频| 精品美女永久免费视频| 国产成人+综合亚洲+天堂| 国产精品美女久久久久久免费| 亚洲国产日韩欧美在线动漫| 欧美特级www| 欧美大人香蕉在线| 欧美最猛性xxxxx免费| 亚洲综合日韩中文字幕v在线| 国产精品99久久久久久久久| 全亚洲最色的网站在线观看| 91老司机在线| 91高清视频免费| 国产精品午夜一区二区欲梦| 欧美久久精品午夜青青大伊人| 欧美日韩第一视频| 亚洲美女性视频| 日韩精品久久久久久福利| 国产精品video| 日本不卡视频在线播放| 日韩免费在线播放| 欧美在线视频一二三| 欧美有码在线观看视频| 日韩中文字幕在线视频| 中文字幕欧美精品在线| 久久深夜福利免费观看| 久久久999精品免费| 国产免费一区二区三区在线观看| 久久av在线播放| 国产精品精品视频一区二区三区| 亚洲欧美中文字幕在线一区| www.午夜精品| 中文字幕日韩精品在线观看| 欧美性猛交99久久久久99按摩| 成人黄色中文字幕| 麻豆国产va免费精品高清在线| 欧美老女人www| 成人xxxx视频| 亚洲精品在线91| 久久久久久成人| www国产精品com| 中文字幕亚洲二区| 欧美伊久线香蕉线新在线| 136fldh精品导航福利| 亚洲欧美激情视频| 欧美劲爆第一页| 精品一区二区亚洲| xxxxxxxxx欧美| 欧美电影电视剧在线观看| 欧美成人午夜激情在线| 精品国产乱码久久久久久虫虫漫画| 亚洲一区二区在线| 国产成人精品日本亚洲专区61| 国产做受69高潮| 日韩av电影手机在线观看| 亚洲福利视频免费观看| 久久久免费在线观看| 欧美在线播放视频| 伊人精品在线观看| 日韩av黄色在线观看| 国产91精品久久久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 8050国产精品久久久久久| 久久久久成人网| 国产精品久久久久久久久久免费| 日韩精品免费电影| 欧美在线亚洲一区| 日韩精品日韩在线观看| 国产精品xxxxx|