首页 > 代码库 > 原子变量

原子变量

1. 锁的劣势:(包括syncronized实现的内置锁、ReentrantLock)

(1)开销大:线程的挂起与恢复存在很大开销,并且存在着较长时间的中断。

2. volatile变量:

(1)优势:更轻量级的同步机制,在使用这些变量时不会发生上下文切换或线程调度,提供了内存可见性保证

(2)劣势:不能用于构建原子的复合操作,因此当一个变量依赖于其他的变量时,或者当变量的新值依赖于旧值时,就不能使用volatile变量。例如计数器或互斥体。

3. 原子变量类:

(1)优势:原子变量比锁的粒度更细,量级更轻

原子变量