atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
From cppreference.net
|
定义于头文件
<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
参数对内存访问进行排序。
该参数是指向易变原子标志的指针,用于接收非易变和 易变 (例如内存映射I/O)原子标志的地址。
目录 |
参数
| obj | - | 指向要修改的原子标志对象的指针 |
| order | - | 此操作的内存同步顺序:允许所有取值 |
返回值
obj
所指向原子标志先前持有的值。
参考文献
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.17.8.1 atomic_flag_test_and_set 函数 (p: 209)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.17.8.1 atomic_flag_test_and_set 函数 (页: 285-286)
参见
|
将原子标志设置为 false
(函数) |
|
|
C++ 文档
关于
atomic_flag_test_and_set
,
atomic_flag_test_and_set_explicit
|
|