atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
来自cppreference.com
在标头 <stdatomic.h> 定义
|
||
_Bool atomic_flag_test_and_set( volatile atomic_flag* obj ); |
(1) | (C11 起) |
_Bool atomic_flag_test_and_set_explicit( volatile atomic_flag* obj, memory_order order ); |
(2) | (C11 起) |
原子地更改 obj
所指向的 atomic_flag
的状态为设置( true ),并返回先前值。第一版本按 memory_order_seq_cst 排序内存访问,第二版本按 order
排序内存访问。
参数是为指向 volatile atomic_flag
的指针,以接受非 volatile 和 volatile (例如映射到内存的 I/O )的 atomic_flag
。
参数
obj | - | 指向要修改的 atomic_flag 对象的指针
|
order | - | 此操作所用的内存同步顺序:容许所有值 |
返回值
obj
所指向的 atomic_flag
的先前值。
引用
- C17 标准(ISO/IEC 9899:2018):
- 7.17.8.1 The atomic_flag_test_and_set functions (第 209 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.17.8.1 The atomic_flag_test_and_set functions (第 285-286 页)
参阅
设置 atomic_flag 为 false (函数) |