atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
|
在标头
<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(函数) |