スレッド干渉の概念を学習しようとしていますが、Java Tutorial Oracle で次の例に遭遇しました。
class Counter {
private int c = 0;
public void increment() {
c++;
}
public void decrement() {
c--;
}
public int value() {
return c;
}
}
Oracle のチュートリアルでは、2 つのスレッドが variablec
にアクセスしようとすると、一方のスレッドによる変更が他方のスレッドに反映されないスレッド干渉が発生する可能性があると述べています。
ただし、実際に概念を説明するコードは提供されていません。Counter
スレッド干渉が実際にどのように発生するかを示すために、クラスに基づいたコード例を提供してもらえますか?