原子变量类包括以下几种类型:
AtomicInteger-可以原子性地更新整数值
AtomicLong-可以原子性地更新长整数值
AtomicBoolean-可以原子性地更新布尔值
AtomicReference-可以原子性地更新对象引用
AtomicIntegerArray-可以原子性地更新整型数组里的元素
AtomicLongArray-可以原子性地更新长整型数组里的元素
AtomicReferenceArray-可以原子性地更新对象引用数组里的元素
AtomicIntegerFieldUpdater-原子性地更新对象的指定volatile int字段
AtomicLongFieldUpdater-原子性地更新对象的指定volatile long字段
AtomicReferenceFieldUpdater-原子性地更新对象的指定volatile引用字段
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerExample {
public static void main(String[] args) {
AtomicInteger atomicInteger = new AtomicInteger(0);
// 以原子方式将当前值更新为新值
atomicInteger.set(20);
// 使用静态工具方法进行原子操作
int oldValue = atomicInteger.getAndAdd(5); // 将当前值增加5,并返回旧值
int newValue = atomicInteger.addAndGet(10); // 将当前值增加10,并返回新值
oldValue = atomicInteger.getAndIncrement(); // 将当前值增加1,并返回旧值
newValue = atomicInteger.incrementAndGet(); // 将当前值增加1,并返回新值
oldValue = atomicInteger.getAndSet(20); // 将当前值设置为20,并返回旧值
}
}