-3
在这个例子中:在可能已经解锁的锁上调用unlock()是否安全?
private ReentrantReadWriteLock mLock = new ReentrantReadWriteLock();
public void method(boolean condition) {
try {
mLock.writelock.lock()
if (condition) {
mLock.writelock.unlock();
}
} finally {
mLock.writelock.unlock();
}
}
什么时候mLock.writelock.unlock()
在finally
块,如果在if
声明解锁已被执行所谓的发生?
此代码是否安全?或者我需要执行一些检查,试图解锁之前是否存在锁定?
[javadoc说什么?](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html#unlock--) –
您花更多的时间来形成这个问题,而不是自己试试。 –