一起來讀源碼711-NanoLog atomic

詳情請見:

Atomic.h


知識點:
Volatile: 保證變量間的順序性,防止編譯器進行亂序優化
__asm__ __volatile__: c++ 內嵌彙編

構造函數
explicit Atomic(const ValueType value = 0) : value(value) { }

加運算
void add(int64_t increment)

將value與test比較,如果相等,將newValue賦值給value
ValueType compareExchange(ValueType test, ValueType newValue)

將newValue賦值給value
ValueType exchange(ValueType newValue)

自增
void inc()

拿value
ValueType load()

放value

一些重載運算符:
= 賦值
() 拿value
++ 自加
-- 自減
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章