atomic_store

atomic_store, atomic_store_explicit

在头文件中定义
void atomic_store(volatile A * obj,需要C);(1)(自C11以来)
void atomic_store_explicit(volatile A * obj,C desired,memory_order order);(2)(自C11以来)

原子替换obj指向的原子变量的值desired。该操作是原子写入操作。

第一个版本根据命令对内存进行访问memory_order_seq_cst,第二个版本根据内存访问内存访问orderorder必须是其中的一个memory_order_relaxedmemory_order_release或者memory_order_seq_cst。否则,行为是不确定的。

这是为所有原子对象类型定义的通用函数A。该参数是指向易失性原子类型的指针,以接受非易失性和易失性(例如内存映射I/O)原子变量的地址。C是与之对应的非原子类型A

参数

obj-指向要修改的原子对象的指针
order-此操作的内存同步排序

返回值

(none).

参考

  • C11标准(ISO/IEC 9899:2011):

另请参阅

atomic_loadatomic_load_explicit(C11)从原子对象(函数)读取一个值

| atomic_store,atomic_store_explicit |的C ++文档