是的,从Java 8开始,java.util.concurrent.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(); } }