一起来读源码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
++ 自加
-- 自减
 

你可能感兴趣的:(一起读源码)