Java 中的原子变量
是的,从 Java 8 起,java.util.concurrent.atomic 包含支持对单变量上进行原子操作的类,防止竞争条件或不面临同步问题。atomic 包中的所有类都具有 get/set 方法。其中,每个 set 方法与在同一个变量上对任何后续 get() 方法调用建立 happens-before 关系。
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(); } }
广告