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();
   }
}

更新时间: 2019 年 7 月 30 日

361 次浏览

开启你的职业生涯

完成课程以获得认证

开始学习
广告