std::atomic_ref<T>::notify_one
来自 cppreference.cn
< 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) |