ATOMIC_VAR_INIT

来自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> 中定义
#define ATOMIC_VAR_INIT(value) /* unspecified */
(C11 起)
扩展到一个表达式,可以用来初始化一个原子的变量的类型相同value。原子对象的未初始化的自动存储时间使用这个宏的初始值是不确定的。静态线程局部变量的默认值(零)初始化产生有效的值但是.
原文:
Expands to an expression that can be used to initialize an atomic variable of the same type as value. The initial value of atomic object of automatic storage duration that is not initialized using this macro is undefined. The default (zero) initialization of static and thread-local variables produces valid value however.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果该宏没有被用于初始化一个原子变量,从另一个线程初始化过程中的任何访问,甚至通过原子操作,是数据争用(它可能发生,如果该地址被立即传递给memory_order_relaxed操作与另一个线程)。
原文:
If this macro is not used for initialization of an atomic variable, any accesses during initialization from another thread, even through an atomic operation, is a data race (it may happen if the address is immediately passed to another thread with a memory_order_relaxed operation).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 另请参阅

初始化一个新的atomic_flag
原文:
initializes a new atomic_flag
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(常量宏) [edit]