執行緒傳參,detach的大坑,成員函式做執行緒函式

2021-09-01 12:19:25 字數 872 閱讀 2793

傳遞臨時物件作為引數

vs ****f+f9

檢視變數

void myprint(const int &t, char *j)

int main()

指標在detach中絕對有問題,傳引用也是傳的複製。

其中,傳已有變數的時候,a的析構函式只執行了一次。

所以,要傳物件得使用臨時物件。因為臨時物件是在主線程中建立的。

(1)若傳的是簡單引數,直接值傳遞,不要用引用。

(2)如果傳遞的是類物件,避免隱式型別轉換。然後在函式引數裡面,採用引用傳參,否則,還會多一次拷貝構造。

所以,detach()有什麼好。

執行緒id:get.id()

class a
而且絕對不能detach()。用成員函式作為執行緒函式。

執行緒傳參詳解,detach的坑

include include includeusing namespace std 執行緒id 每個執行緒都有一串唯一的數字來標識,這串數字就是執行緒id。可通過std this thread get id 來獲取。detach時 1.如果傳遞int這種簡單型別引數,建議都是值傳遞,不要用引用 可...

關於執行緒傳參

向執行緒裡面傳遞引數,在專案中,單獨起乙個執行緒,很多情況都需要向執行緒裡面傳遞一些引數,例如,我在專案中向多人傳送郵件,本想起乙個執行緒,把需要傳送的內容以及傳送的郵箱傳遞進去,我原來使用的方法是把這個物件作為乙個static的,然後再去直接獲取,後來發現靜態變數使用過多,會導致記憶體使用過多,消...

多執行緒傳參

1.要避免的陷阱 1 用detach 時,如果主線程先結束,變數就會被 所以用detach 的話,不推薦用引用,同時絕對不能用指標。include include using namespace std void myprint const int i,char pmybuf intmain 2 在...