ATOMIC_VAR_INIT

ATOMIC_VAR_INIT

在头文件中定义
#define ATOMIC_VAR_INIT(值)/ * unspecified * /(自C11以来)

扩展为一个表达式,可以用来初始化一个与之类型相同的原子变量value。未使用此宏初始化的自动存储持续时间的原子对象的初始值未定义。但是,静态和线程局部变量的默认(零)初始化会生成有效值。

如果这个宏不用于初始化一个原子变量,那么在从另一个线程初始化(即使通过一个原子操作)期间,任何访问都是数据竞争(如果地址通过memory_order_relaxed操作立即传递给另一个线程,则可能发生)。

参考

  • C11标准(ISO/IEC 9899:2011):

另请参阅

ATOMIC_FLAG_INIT(C11)初始化一个新的atomic_flag(宏常量)