我有一个需要解锁的写锁对象,但我不确定它是否已锁定(它取决于相同的变量)。如果没有加锁,调用unlock会抛出异常。我目前正在做的是这样的:
if (fWriteLock.tryLock())
fWriteLock.unlock();
还有没有更好的办法?
最佳答案
更清晰的方法是 if(fWriteLock.isHeldByCurrentThread())
,但如果您不知道自己是否有锁,那么听起来您可能存在设计问题。
关于Java安全解锁读写锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538144/