Java 发布一份;同步的;锁
使用Java 发布一份;同步的;锁,java,multithreading,synchronization,locking,Java,Multithreading,Synchronization,Locking,使用synchronized是否可以执行类似操作,或者是否需要使用java.util…Lock: public void outer() { synchronized(lock) { inner(); } } public void inner() { thing1(); release(lock) { result = doLongNetworkRequest(); } thing2(result); } 您可以使用。它们有lock()和unlock()在同步块期间,您
synchronized
是否可以执行类似操作,或者是否需要使用java.util…Lock
:
public void outer() {
synchronized(lock) {
inner();
}
}
public void inner() {
thing1();
release(lock) {
result = doLongNetworkRequest();
}
thing2(result);
}
您可以使用。它们有
lock()
和unlock()
在同步块期间,您无法释放监视器。您必须使用一两个锁来完成您想要的操作。一定要使用最后再试一次(正确)。/你确定要这样构造你的代码吗?@Tom Hawtin:是的,我在处理锁时总是使用finally
。结构是这样的,因为实际上我有很多内部方法,出于干燥的原因,锁在外部。你能提供一个吗?