std::atomic_ref<T>::notify_all
來自 cppreference.com
< cpp | 原子操作 (atomic) | atomic_ref
void notify_all() const noexcept; |
(C++26 起為 constexpr) | |
執行原子通知操作。
解除在 *ptr
上所有因原子等待操作(即 wait())而被阻塞的執行緒;如果沒有,則不執行任何操作。此過載僅在 std::is_const_v<T> 為 false 時參與過載決議。
目錄 |
[編輯] 註解
這種形式的變更檢測通常比簡單的輪詢或純自旋鎖更高效。
[編輯] 示例
本節不完整 原因:無示例 |
缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3508 (P3323R1) |
C++20 | 對於 const T,notify_all 曾是無意義的 |
限制為只接受非 const T |
[編輯] 參閱
阻塞執行緒直到被通知且原子值改變 (public 成員函式) | |
(C++20)(C++20) |
阻塞執行緒直到被通知且原子值改變 (函式模板) |
(C++20) |
通知一個在 atomic_wait 中阻塞的執行緒 (函式模板) |