是否有任何原子集操作返回 C 中的旧值?



我正在寻找一些类似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(。

相关内容

  • 没有找到相关文章

最新更新