atomic_exchange, atomic_exchange_explicit

来自cppreference.com
< c‎ | atomic

 
 
原子操作库
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
memory_order
atomic_flag
原文:
Macros
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ATOMIC_***_LOCK_FREE
ATOMIC_FLAG_INIT
ATOMIC_VAR_INIT
kill_dependency
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
atomic_flag_test_and_set
atomic_flag_clear
atomic_init
atomic_is_lock_free
atomic_store
atomic_load
atomic_exchange
atomic_compare_exchange
atomic_fetch_add
atomic_fetch_sub
atomic_fetch_or
atomic_fetch_xor
atomic_fetch_and
atomic_thread_fence
atomic_signal_fence
 
在头文件 <stdatomic.h> 中定义
C atomic_exchange( volatile A* obj, C desired );
(1)
C atomic_exchange_explicit( volatile A* obj, C desired, memory_order order );
(2)

Atomically replaces the value pointed by obj with desired and returns the value obj held previously. The operation is read-modify-write operation. The first version orders memory accesses according to memory_order_seq_cst, the second version orders memory accesses according to order.

这是一个通用函数定义的所有原子的对象类型。 A是一个原子对象的类型,C非原子的类型,对应于A.
原文:
This is a 通用函数 defined for all atomic object types. A is the type of an atomic object, C is the non-atomic type corresponding to A.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 参数

obj -
指针的原子对象修改
原文:
pointer to the atomic object to modify
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
desired - the value to replace the atomic object with
order -
内存同步进行此操作的顺序:所有的允许值
原文:
the memory synchronization ordering for this operation: all values are permitted
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

保存的值是原子对象所指向的obj.
原文:
The value held previously be the atomic object pointed to by obj.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 另请参阅

交换价值的一个原子对象,如果旧值的期望是什么,否则读旧的值
原文:
swaps a value with the an atomic object if the old value is what is expected, otherwise reads the old value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
C++ documentation for atomic_exchange, atomic_exchange_explicit