命名空間
變體
動作

std::thread

出自 cppreference.com
< cpp‎ | thread
 
 
並行支援函式庫
執行緒
thread
(C++11)
(C++20)
this_thread 命名空間
(C++11)
(C++11)
(C++11)
協作式取消
互斥 (Mutual exclusion)
(C++11)
通用鎖管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
條件變數
(C++11)
旗標 (Semaphores)
閂鎖 (Latches) 與屏障 (Barriers)
(C++20)
(C++20)
期約 (Futures)
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
風險指標 (Hazard Pointers)
原子型別
(C++11)
(C++20)
原子型別初始化
(C++11)(在 C++20 中棄用)
(C++11)(在 C++20 中棄用)
記憶體順序
(C++11)(在 C++26 中棄用)
原子操作的自由函式
原子旗標的自由函式
 
 
定義於標頭檔 <thread>
class thread;
(C++11 起)

thread 類別代表單一執行緒。執行緒允許同時執行多個函式。

當相關聯的執行緒物件建構完成時,執行緒會立即開始執行(需等待作業系統排程延遲),並從作為建構函式參數提供的頂層函式開始。頂層函式的回傳值會被忽略;若其因拋出例外而終止,則會呼叫 std::terminate。頂層函式可透過 std::promise 或修改共享變數(可能需要同步,請參閱 std::mutexstd::atomic)將回傳值或例外傳遞給呼叫者。

std::thread 物件也可能處於不代表任何執行緒的狀態(在預設建構、移動後、detachjoin 之後),且執行緒可能不與任何 thread 物件相關聯(在 detach 之後)。

沒有兩個 std::thread 物件可以代表相同的執行緒;std::thread 不具備複製建構 (CopyConstructible)複製賦值 (CopyAssignable) 的特性,但它具備移動建構 (MoveConstructible)移動賦值 (MoveAssignable) 的特性。

目錄

[編輯] 成員型別

成員型別 定義
native_handle_type (可選*) 實作定義[編輯]

[編輯] 成員類別

代表執行緒的 id
(公開成員類別) [編輯]

[編輯] 成員函式

建構新的 thread 物件
(公開成員函式) [編輯]
解構執行緒物件,基礎執行緒必須已 join 或 detach
(公開成員函式) [編輯]
移動執行緒物件
(公開成員函式) [編輯]
觀察器
檢查執行緒是否可 join,即是否可能在並行環境中執行
(公開成員函式) [編輯]
回傳執行緒的 id
(公開成員函式) [編輯]
回傳底層由實作定義的執行緒控制代碼 (handle)
(公開成員函式) [編輯]
回傳實作支援的併發執行緒數量
(公開靜態成員函式) [編輯]
作業 (Operations)
等待執行緒完成其執行
(公開成員函式) [編輯]
允許執行緒脫離執行緒控制代碼獨立執行
(公開成員函式) [編輯]
交換兩個執行緒物件
(公開成員函式) [編輯]

[編輯] 非成員函式

特化 std::swap 演算法
(函式) [編輯]

[編輯] 參見

(C++20)
std::thread 具有自動 join 與取消支援
(類別) [edit]
English Deutsch 日本語 中文(简体) 中文(繁體)