gpt4 book ai didi

c - 在 C 中是否有返回旧值的原子集操作?

转载 作者:太空狗 更新时间:2023-10-29 14:56:55 25 4
gpt4 key购买 nike

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

关于c - 在 C 中是否有返回旧值的原子集操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50323958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com