?
This document uses PHP Chinese website manual Release
在頭文件<stdatomic.h>中定義 | ||
---|---|---|
#define ATOMIC_VAR_INIT(值)/ * unspecified * / | (自C11以來(lái)) |
擴(kuò)展為一個(gè)表達(dá)式,可以用來(lái)初始化一個(gè)與之類型相同的原子變量value
。未使用此宏初始化的自動(dòng)存儲(chǔ)持續(xù)時(shí)間的原子對(duì)象的初始值未定義。但是,靜態(tài)和線程局部變量的默認(rèn)(零)初始化會(huì)生成有效值。
如果這個(gè)宏不用于初始化一個(gè)原子變量,那么在從另一個(gè)線程初始化(即使通過(guò)一個(gè)原子操作)期間,任何訪問(wèn)都是數(shù)據(jù)競(jìng)爭(zhēng)(如果地址通過(guò)memory_order_relaxed
操作立即傳遞給另一個(gè)線程,則可能發(fā)生)。
C11標(biāo)準(zhǔn)(ISO/IEC 9899:2011):
7.17.2.1 ATOMIC_VAR_INIT宏(p: 274)
ATOMIC_FLAG_INIT(C11) | 初始化一個(gè)新的atomic_flag(宏常量) |
---|