©
本文档使用 PHP中文网手册 发布
在头文件<stdatomic.h>中定义 | ||
---|---|---|
C atomic_load(const volatile A * obj); | (1) | (自C11以来) |
C atomic_load_explicit(const volatile A * obj,memory_order order); | (2) | (自C11以来) |
以原子方式加载并返回指向的原子变量的当前值obj
。该操作是原子读取操作。
第一个版本根据命令对内存进行访问memory_order_seq_cst
,第二个版本根据内存访问内存访问order
。order
必须是一个memory_order_relaxed
,memory_order_consume
,memory_order_acquire
或memory_order_seq_cst
。否则,行为是不确定的。
这是为所有原子对象类型定义的通用函数A
。该参数是指向易失性原子类型的指针,以接受非易失性和易失性(例如内存映射I/O)原子变量的地址。C
是与之对应的非原子类型A
。
obj | - | 指向要访问的原子对象的指针 |
---|---|---|
order | - | 此操作的内存同步排序 |
指向的原子变量的当前值obj
。
C11标准(ISO/IEC 9899:2011):
7.17.7.2 atomic_load泛型函数(p: 282)
atomic_storeatomic_store_explicit(C11) | 将值存储在原子对象(函数)中 |
---|
| 针对atomic_load,atomic_load_explicit |的C ++文档