Package java.util.concurrent.atomic
这是一个小工具包,他的实际作用是提供了很多个无阻塞的线程安全的变量操作工具。
无阻塞的线程安全:其含义就是不使用synchronize,而使用volatile+CAS的方式实现。
该包下类摘要
类 | 描述 |
---|---|
AtomicBoolean |
针对一个 boolean 类型的变量做原子更新操作。
|
AtomicInteger |
针对一个 int 类型的变量做原子更新操作。
|
AtomicIntegerArray |
针对一个 int[] 数组类型的变量做原子更新操作。
|
AtomicIntegerFieldUpdater<T> |
用反射的方式,可以对指定类的指定的 (volatile类型)int类型 的字段进行原子更新。
|
AtomicLong |
针对一个 long 类型的变量做原子更新操作。
|
AtomicLongArray |
针对一个 long[] 数组类型的变量做原子更新操作。
|
AtomicLongFieldUpdater<T> |
用反射的方式,可以对指定类的指定的 (volatile类型)long类型 的 字段进行原子更新。
|
AtomicMarkableReference<V> |
利用标记的形式记录了每次改变以后的引用对象,内部是一个二元组【引用,Boolean】 |
AtomicReference<V> |
针对一个 对象引用 类型的变量做原子更新操作。
|
AtomicReferenceArray<E> |
针对一个 对象数组引用 类型的变量做原子更新操作。
|
AtomicReferenceFieldUpdater<T,V> |
用反射的方式,可以对指定类的指定的(volatile类型)引用类型字段进行原子更新。
|
AtomicStampedReference<V> |
利用版本戳的形式记录了每次改变以后的引用对象,内部是一个二元组【引用,int】 |
DoubleAccumulator | 基于Striped64实现高并发double类型累加(重置初始值为0) |
DoubleAdder | 基于Striped64实现高并发double类型累加 |
LongAccumulator | 基于Striped64实现高并发Long类型累加(重置初始值为0) |
LongAdder | 基于Striped64实现高并发Long类型累加 |