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(宏常量) |
---|