すべてのプロパティがlong
またはdouble
ではないと仮定すると、そのオブジェクトのプロパティの最新の値を原子的に読み取ることが保証されていますか?オブジェクトへの揮発性参照の読み取りは、そのプロパティの最新値のアトミック読み取りを保証しますか?
具体的な例を示します。
public class Foo {
private int bar;
public int getBar() {
return this.bar;
}
public void setBar(int bar) {
this.bar = bar;
}
}
public class Baz {
private volatile Foo foo;
}
スレッドAはFoo
のBar
プロパティにいつでも書き込むことができます。スレッドBはFoo
のBar
プロパティのみを読み取ることができます。スレッドBがBaz
を通じてBar
プロパティにアクセスする場合、最新値Bar
が読み込まれますか?
ここであなたの人生ははるかに楽になります。 – SLaks