【发布时间】:2012-04-18 13:11:10
【问题描述】:
这是一些代码:
public class A {
private volatile B b;
public void methodC() {
b.doSomething();
}
public void setB(B newB) {
this.b = newB;
}
}
'Thread 1' 正在通过执行 methodC() 来执行 b.doSomething()。
同时'thread 2'设置一个新的B对象到'b'中。
我的问题是:
之前被 'b' 引用的对象是否可以被垃圾回收,尽管它的 doSomething() 方法仍在执行?
【问题讨论】:
标签: java multithreading garbage-collection