首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

atomic_load

在头文件<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,第二个版本根据内存访问内存访问orderorder必须是一个memory_order_relaxedmemory_order_consumememory_order_acquirememory_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 ++文档

扫码关注腾讯云开发者

领取腾讯云代金券