2 つのスレッドと 1 つのオブジェクトがあるとします。1 つのスレッドがオブジェクトを割り当てます。
public void assign(MyObject o) {
myObject = o;
}
別のスレッドがオブジェクトを使用します:
public void use() {
myObject.use();
}
変数 myObject は volatile として宣言する必要がありますか? いつ揮発性を使用するか、いつ使用しないかを理解しようとしていますが、これは私を困惑させています。2 番目のスレッドが古いオブジェクトへの参照をローカル メモリ キャッシュに保持している可能性はありますか? そうでない場合、なぜですか?
どうもありがとう。