std::thread
來自 cppreference.com
| 定義於標頭檔案 <thread> |
||
| class thread; |
(C++11 起) | |
類 thread 表示單個執行執行緒。執行緒允許多個函式併發執行。
執行緒在關聯的執行緒物件構建後立即開始執行(待定於任何作業系統排程延遲),從建構函式引數提供的頂層函式開始。頂層函式的返回值被忽略,如果它透過丟擲異常終止,則呼叫std::terminate。頂層函式可以透過std::promise或修改共享變數(可能需要同步,參見std::mutex和std::atomic)將其返回值或異常傳達給呼叫者。
std::thread 物件也可以處於不表示任何執行緒的狀態(預設構造後、移動後、detach後或join後),並且執行執行緒可能不與任何 thread 物件關聯(detach後)。
沒有兩個 std::thread 物件可以表示同一個執行執行緒;std::thread 不支援CopyConstructible 或 CopyAssignable,但它支援MoveConstructible 和 MoveAssignable。
目錄 |
[編輯] 成員型別
| 成員型別 | 定義 |
native_handle_type (可選*) |
實現定義 |
[編輯] 成員類
| 表示執行緒的 id (公共成員類) |
[編輯] 成員函式
構造新的 thread 物件(公共成員函式) | |
| 銷燬執行緒物件,底層執行緒必須已join或已detach (公共成員函式) | |
| 移動執行緒物件 (公共成員函式) | |
觀察器 | |
| 檢查執行緒是否可join,即是否可能在並行上下文中執行 (公共成員函式) | |
| 返回執行緒的 id (公共成員函式) | |
| 返回底層實現定義的執行緒控制代碼 (公共成員函式) | |
| 返回實現支援的併發執行緒數 (公共靜態成員函式) | |
操作 | |
| 等待執行緒完成其執行 (公共成員函式) | |
| 允許執行緒獨立於執行緒控制代碼執行 (公共成員函式) | |
| 交換兩個執行緒物件 (公共成員函式) | |
[編輯] 非成員函式
| (C++11) |
特化 std::swap 演算法 (函式) |
[編輯] 另見
| (C++20) |
std::thread 支援自動join和取消 (類) |