c 11多執行緒併發程式設計學習 5 建立多執行緒

2021-09-25 10:29:47 字數 577 閱讀 1211

一.建立多個執行緒:

1 #include2 #include3 #include4 #include5 using namespace std;

6 7 void fun(int i) //執行緒執行函式

8 20

21 //等待所有子執行緒結束,使用迭代器很方便

22 for(auto iter = threads.begin();iter!=threads.end();++iter)

23

26 cout<<"process quit"<二.資料共享問題

唯讀:不影響

有讀:一定要進行同步處理

共享資料案例:

網路遊戲:

建立兩個執行緒,乙個收集玩家發來的命令放入佇列,

另外乙個負責取出命令,解析,並且執行命令

class game

void outmsg()

private:

listmsgrecv;

};int main()

C 11併發程式設計 多執行緒std thread

c 11引入了thread類,大大降低了多執行緒使用的複雜度,原先使用多執行緒只能用系統的api,無法解決跨平台問題,一套 平台移植,對應多執行緒 也必須要修改。現在在c 11中只需使用語言層面的thread可以解決這個問題。所需標頭檔案 thread noexcept 乙個空的std thread...

C 11 多執行緒 併發程式設計總結

建立std thread,一般會繫結乙個底層的執行緒。若該thread還繫結好函式物件,則即刻將該函式執行於thread的底層執行緒。執行緒相關的很多預設是move語義,因為在常識中線程複製是很奇怪的行為。joinable 是否可以阻塞至該thread繫結的底層執行緒執行完畢 倘若該thread沒有...

C 11併發程式設計 多執行緒std thread

一 概述 c 11引入了thread類,大大降低了多執行緒使用的複雜度,原jtpbyn先使用多執行緒只能用系統的api,無法解決跨平台問題,一套 平台移植,對應多執行緒 也必須要修改。現在在c 11中只需使用語言層面的thread可以解決這個問題。所需標頭檔案 二 建構函式 1.預設建構函式 2.初...