std::atomic_ref<T>::notify_all
来自 cppreference.cn
< 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 中阻塞的线程 (函数模板) |