JAVA中的原子类

xiaoxiao2021-02-28  95

一、Java中提供的基本的原子类有:

AtomicBoolean,AtomicInteger,AtomicDouble

二、原子类的基本特征:

手段: 1)保证操作的原子性 2)保证多线程下的可见性。 目标: 保证线程安全

三、concurrent包常用的类:

AtomicInteger、AtomicLong、AtomicReference。

总结:其底层就是volatile和CAS 共同作用的结果:

1.首先使用了volatile 保证了内存可见性。

2.然后使用了CAS(compare-and-swap)(一种乐观锁)算法 保证了原子性。

其中CAS算法的原理就是里面包含三个值:内存值A 预估值V 更新值 B 当且仅当 V == A 时,V = B; 否则,不会执行任何操作。

转载请注明原文地址: https://www.6miu.com/read-44142.html

最新回复(0)