这样的事情可以同步,或者我需要使用java.util … Lock:
public void outer() {
synchronized(lock) {
inner();
}
}
public void inner() {
thing1();
release(lock) {
result = doLongNetworkRequest();
}
thing2(result);
}
解决方法:
不幸的是,您无法释放同步块期间保持的监视器.您将不得不使用一两把锁来做你想做的事.