std::atomic_flag_C++中文网
| class atomic_flag; |
(C++11 起) | |
std::atomic_flag 是原子布尔类型。不同于所有 std::atomic 的特化,它保证是免锁的。不同于 std::atomic<bool> , std::atomic_flag 不提供加载或存储操作。
成员函数
| 构造 atomic_flag (公开成员函数) | |
| 赋值运算符 (公开成员函数) | |
| 原子地设置标志为 false (公开成员函数) | |
| 原子地设置标志为 true 并获得其先前值 (公开成员函数) | |
| (C++20) |
原子地返回标志的值 (公开成员函数) |
| (C++20) |
阻塞线程直至被提醒且原子值更改 (公开成员函数) |
| (C++20) |
提醒至少一个在原子对象上的等待中阻塞的线程 (公开成员函数) |
| (C++20) |
提醒所有在原子对象上的等待中阻塞的线程 (公开成员函数) |
示例
可于用户空间用 atomic_flag 实现自旋互斥
输出:
Output from thread 2 Output from thread 6 Output from thread 7 ...<exactly 1000 lines>...