atomic_exchange_explicit函数
概要:
#include <stdatomic.h> C atomic_exchange_explicit(volatile A *object, C desired, memory_order order);
描述:
该泛型函数使用参数desired的值替换参数object指向的原子对象值,并返回该操作生效前原子对象的值。该操作是原子的读-修改-写操作。内存会受参数order值影响。当参数order值为memory_order_seq_cst时,atomic_exchange_explicit函数与atomic_exchange函数具有相同的语义。
参数:
volatile A *object
指向原子类型对象的指针。
C desired
对应的非原子类型对象。
memory_order order
枚举常量,显式地指定内存顺序。
返回值:
函数返回函数调用生效前参数object指向的原子对象值。
范例:
|
|
输出:
After exchange aNumber is 25.
注:使用Pelles C编译。
相关内容:
atomic_store_explicit | 替换原子对象值的函数。 |
atomic_load_explicit | 读取原子对象值的函数。 |
atomic_exchange | 读取并替换原子对象值的函数。 |
atomic_compare_exchange_strong_explicit | 根据比较结果,更新值的函数。 |
atomic_compare_exchange_weak_explicit | 根据比较结果,更新值的函数。 |