说我有两个线程和一个对象.一个线程分配对象:
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而什么时候不用,这让我很困惑.是否有可能第二个线程在其本地内存缓存中保留对旧对象的引用?如果没有,为什么不呢?
非常感谢.