std::condition_variable_any
來自 cppreference.com
在標頭檔案 <condition_variable> 中定義 |
||
class condition_variable_any; |
(C++11 起) | |
condition_variable_any
類是 std::condition_variable 的泛化。而 std::condition_variable 僅適用於 std::unique_lock<std::mutex>,condition_variable_any
可以操作任何滿足 BasicLockable 要求的鎖。
有關條件變數語義的描述,請參見 std::condition_variable。
std::condition_variable_any
類是一個 StandardLayoutType。它不是 可複製構造,可移動構造,可複製賦值,或 可移動賦值 的。
如果鎖是 std::unique_lock<std::mutex>,std::condition_variable 可能提供更好的效能。
目錄 |
[編輯] 成員函式
構造物件 (public member function) | |
析構物件 (public member function) | |
operator= [已刪除] |
不可複製賦值 (public member function) |
Notification | |
通知一個等待執行緒 (public member function) | |
通知所有等待執行緒 (public member function) | |
Waiting | |
阻塞當前執行緒直到條件變數被喚醒 (public member function) | |
阻塞當前執行緒,直到條件變數被喚醒或達到指定的超時時長。 (public member function) | |
阻塞當前執行緒,直到條件變數被喚醒或達到指定的時間點。 (public member function) |
[編輯] 注意
std::condition_variable_any
可以與 std::shared_lock 一起使用,以在共享所有權模式下等待 std::shared_mutex。
std::condition_variable_any
與自定義 Lockable 型別的可能用途是提供方便的、可中斷的等待:自定義鎖操作將按預期鎖定關聯的互斥體,並執行必要的設定以在收到中斷訊號時通知此條件變數。[1]
[編輯] 另請參見
(C++11) |
提供與 std::unique_lock 關聯的條件變數 (class) |
[編輯] 外部連結
|