このクラスはスレッドセーフですか?AtomicIntegerと同期ゲッター/セッター
一貫性のない値が表示されますか?スレッド1はsetA(100)
を呼び出して関数を入力しますが、まだa.set(100)
を呼び出さず、スレッド2は同時にgetA()
を呼び出します。スレッド2が80を見ることは可能ですか?
public class A {
private AtomicInteger a;
public int getA() {
return a.get()
}
public void setA(int newVal){
a.set(newVal);
}
}
は、私はそれは、スレッド2を保証する同期化することは100を見ていることを知っているが、のAtomicIntegerとわかりません。