小编Tiy*_*oal的帖子

如何正确使用Java中的volatile关键字?

说我有两个线程和一个对象.一个线程分配对象:

public void assign(MyObject o) {
    myObject = o;
}
Run Code Online (Sandbox Code Playgroud)

另一个线程使用该对象:

public void use() {
    myObject.use();
}
Run Code Online (Sandbox Code Playgroud)

变量myObject是否必须声明为volatile?我想知道什么时候使用volatile而什么时候不用,这让我很困惑.是否有可能第二个线程在其本地内存缓存中保留对旧对象的引用?如果没有,为什么不呢?

非常感谢.

java volatile

14
推荐指数
2
解决办法
959
查看次数

标签 统计

java ×1

volatile ×1