假设所有属性都不是long或者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;
}
Run Code Online (Sandbox Code Playgroud)
线程A可写入Foo的Bar财产的任何时间.线程B只能读取Foo的Bar属性.如果线程B Bar通过Baz它访问属性,它会读取最新值Bar吗?
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |