假设所有属性都不是longor double,读取volatile对对象的引用是否保证原子读取其属性的最新值?
这是一个具体的例子。
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属性。如果线程 BBar通过 访问属性Baz,它会读取 的最新值Bar吗?