?
This document uses PHP Chinese website manual Release
在頭文件<stdatomic.h>中定義 | ||
---|---|---|
void atomic_store(volatile A * obj,需要C); | (1) | (自C11以來) |
void atomic_store_explicit(volatile A * obj,C desired,memory_order order); | (2) | (自C11以來) |
原子替換obj
指向的原子變量的值desired
。該操作是原子寫入操作。
第一個版本根據(jù)命令對內(nèi)存進行訪問memory_order_seq_cst
,第二個版本根據(jù)內(nèi)存訪問內(nèi)存訪問order
。order
必須是其中的一個memory_order_relaxed
,memory_order_release
或者memory_order_seq_cst
。否則,行為是不確定的。
這是為所有原子對象類型定義的通用函數(shù)A
。該參數(shù)是指向易失性原子類型的指針,以接受非易失性和易失性(例如內(nèi)存映射I/O)原子變量的地址。C
是與之對應(yīng)的非原子類型A
。
obj | - | 指向要修改的原子對象的指針 |
---|---|---|
order | - | 此操作的內(nèi)存同步排序 |
(none).
C11標(biāo)準(ISO/IEC 9899:2011):
7.17.7.1 atomic_store通用函數(shù)(p: 282)
atomic_loadatomic_load_explicit(C11) | 從原子對象(函數(shù))讀取一個值 |
---|
| atomic_store,atomic_store_explicit |的C ++文檔