atomic_flag_test_and_set, atomic_flag_test_and_set_explicit

来自cppreference.com
< c‎ | atomic
定义于头文件 <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的先前值。

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.17.8.1 The atomic_flag_test_and_set functions (p: 285-286)

[编辑] 参阅

设置atomic_flagfalse
(函数) [编辑]
atomic_flag_test_and_set, atomic_flag_test_and_set_explicitC++ 文档