可以使用两个AtomicInteger的线程安全方法吗?

问题描述 投票:0回答:1

我想编写一个线程安全的方法sum(),但是我不确定是否可以使用两个AtomicIntegers使其安全,还是必须使用同步块?

class A {

   private AtomicInteger a = new AtomicInteger();
   private AtomicInteger b = new AtomicInteger();

   public void sum(int c) {
      a.set(a.get() + b.get() + c);
   }
}
java multithreading synchronized atomicinteger
1个回答
0
投票

有一些AntomicInteger的特定方法可以解决这一问题。您不需要打破AtomicInteger这个词,它是线程安全的。只需检查AtomicInteger的JavaDocs,就会显示可用于此目的的方法,例如AtomicInteger.getAndAdd

© www.soinside.com 2019 - 2024. All rights reserved.