atomic_store_explicit函数
概要:
#include <stdatomic.h> void atomic_store_explicit(volatile A *object, C desired, memory_order order);
描述:
该泛型函数使用参数desired的值替换参数object指向原子对象的值,该操作是原子写操作。参数order不应是memory_order_acquire、memory_order_consume或者memory_order_acq_rel。内存会受参数order值影响。当参数order值为memory_order_seq_cst时,atomic_store_explicit函数与atomic_store函数具有相同的语义。
ISO/IEC 9899标准未指定atomic_store_explicit是宏还是具有外部链接的标识符。如果为访问实际函数而抑制宏定义,或者程序定义了与atomic_store_explicit同名的外部标识符,其行为是未定义的。
参数:
volatile A *object
指向原子类型对象的指针。
C desired
对应的非原子类型对象。
memory_order order
枚举常量,显式地指定内存顺序。
返回值:
无。
范例:
|
|
输出:
The value of aNumber is 25.
相关内容:
| atomic_store | 写入原子对象值的函数。 |
| atomic_load_explicit | 读取原子对象值的函数。 |
| atomic_exchange_explicit | 读取并替换原子对象值的函数。 |
| atomic_compare_exchange_strong_explicit | 根据比较结果,更新值的函数。 |
| atomic_compare_exchange_weak_explicit | 根据比较结果,更新值的函数。 |
主要参考资料: