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