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)

阻塞线程直至被提醒且原子值更改
(公开成员函数)
提醒至少一个在原子对象上的等待中阻塞的线程
(公开成员函数)
提醒所有在原子对象上的等待中阻塞的线程
(公开成员函数)

示例

可于用户空间用 atomic_flag 实现自旋互斥

输出:

Output from thread 2
Output from thread 6
Output from thread 7
...<exactly 1000 lines>...

参阅