在我的程序中,我有以下模板的功能:
public MyObject myMethod() {
final MyObject[] myObject = new MyObject[]{null};
MyListener myListener= new MyListener() {
public void messageReceived(MyObject newData) {
// Thread #1
myObject[0] = newData;
}
}
...
// Thread #2
while (myObject[0] == null) ;
return myObject[0];
}
不幸的是,Java 64 位线程#2 中存在同步问题,没有看到线程#1 所做的任何更改,并且while 循环永远不会结束。我应该如何同步这些线程?
谢谢!