atomic_flag_test_and_set
在头文件<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以来) |
原子上将atomic_flag
指向的状态更改obj
为set(true
)并返回以前的值。第一个版本根据命令对内存进行访问memory_order_seq_cst
,第二个版本根据内存访问内存访问order
。
参数是指向易失性原子标志的指针,以接受非易失性和易失性(例如内存映射I/O)原子标志的地址。
参数
obj | - | 指向要修改的原子标记对象的指针 |
---|---|---|
order | - | 此操作的内存同步排序:所有值都是允许的 |
返回值
由原子标志所指的前一个值obj
。
参考
- C11标准(ISO/IEC 9899:2011):
- 7.17.8.1 atomic_flag_test_and_set函数(p: 285-286)
另请参阅
atomic_flag_clearatomic_flag_clear_explicit(C11) | 将atomic_flag设置为false(函数) |
---|
| atomic_flag_test_and_set,atomic_flag_test_and_set_explicit |的C ++文档
本文档系便宜云服务器开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com