atomic_flag_test_and_set

atomic_flag_test_and_set, atomic_flag_test_and_set_explicit

在头文件中定义
_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):

另请参阅

atomic_flag_clearatomic_flag_clear_explicit(C11)将atomic_flag设置为false(函数)

| atomic_flag_test_and_set,atomic_flag_test_and_set_explicit |的C ++文档