java concurrent 之 AtomicInteger
AtomicInteger类提供了一个可以被原子地读取和写入的int变量,还包含像compareAndSet()这样的高级原子操作。 AtomicInteger类位于java.util.concurrent.atomic包中,因此完整的类名称为java.util.concurrent.atomic.AtomicInteger。 本文描述了Java 8中发现的AtomicInteger的版本,但第一个版本是在Java 5中添加的。
创建一个AtomicInteger
AtomicInteger atomicInteger = new AtomicInteger();
也可以初始化
AtomicInteger atomicInteger = new AtomicInteger(123);
获取AtomicInteger值
AtomicInteger atomicInteger = new AtomicInteger(123);
int theValue = atomicInteger.get();
赋值
AtomicInteger atomicInteger = new AtomicInteger(123);
atomicInteger.set(234);
比较赋值
AtomicInteger atomicInteger = new AtomicInteger(123);
int expectedValue = 123;
int newValue = 234;
atomicInteger.compareAndSet(expectedValue, newValue);
增值操作 (见名之意,不在详述)
- addAndGet()
- getAndAdd()
- getAndIncrement()
- incrementAndGet()
减值操作 (见名之意,不在详述)
- decrementAndGet()
- getAndDecrement()