java – 释放“同步”锁

这样的事情可以同步,或者我需要使用java.util … Lock:

public void outer() {
 synchronized(lock) {
  inner();
 }
}

public void inner() {
 thing1();
 release(lock) {
  result = doLongNetworkRequest();
 }
 thing2(result);
}

解决方法:

不幸的是,您无法释放同步块期间保持的监视器.您将不得不使用一两把锁来做你想做的事.

上一篇:Java并发中使用无同步的奇怪行为


下一篇:java – 我是否需要同步方法和对象