Java 中的原子变量
是的,从 Java 8 开始,java.util.concurrent.atomic 包中包含支持对单个变量执行原子操作的类,防止出现竞争条件或避免同步问题。atomic 包中的所有类都有 get/set 方法。每个 set 方法都与同一变量上任何后续的 get() 方法调用有先行发生关系。
import java.util.concurrent.atomic.AtomicInteger; class AtomicCounter { private AtomicInteger counter = new AtomicInteger(0); public void increment() { counter.incrementAndGet(); } public void decrement() { counter.decrementAndGet(); } public int value() { return counter.get(); } }
广告