我想编写一个线程安全的方法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);
}
}
最佳答案
有AntomicInteger的特定方法可以解决此问题。您不需要打破AtomicInteger这个词,它是线程安全的。
只需检查AtomicInteger的JavaDocs,就会显示诸如AtomicInteger.getAndAdd之类的可用于此目的的方法。
关于java - 是否可以使用带有两个AtomicInteger的线程安全方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59021003/