【发布时间】:2018-05-14 06:07:47
【问题描述】:
我正在寻找一些类似atomic_set 的函数,它以原子方式设置变量的值,同时它返回类似于compare_and_swap 的先前值。
这是我的期望:
int old_val = atomic_set(mem_address, 10);
【问题讨论】:
我正在寻找一些类似atomic_set 的函数,它以原子方式设置变量的值,同时它返回类似于compare_and_swap 的先前值。
这是我的期望:
int old_val = atomic_set(mem_address, 10);
【问题讨论】:
C11 <stdatomic.h> 定义了执行此操作的atomic_exchange() 和atomic_exchange_explicit()。
atomic_exchange_explicit() 表单允许您指定所需的内存排序(普通的atomic_exchange() 使用最强的内存排序memory_order_seq_cst)。
【讨论】: