➢ 查看 atomic 包文档页下面的介绍,它可以对多线程的基本数据、数组中的基本数据和对象中的基本数据
进行多线程的操作(AtomicInteger、AtomicIntegerArray、AtomicIntegerFieldUpDater…)
➢ 通过如下两个方法快速理解 atomic 包的意义:
AtomicInteger 类的 boolean compareAndSet(expectedValue, updateValue);
AtomicIntegerArray 类的 int addAndGet(int i, int delta);
➢ 顺带解释 volatile 类型的作用,需要查看 java 语言规范。
volatile 修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。(具有可见性)
volatile 没有原子性。 |
|