1
我有一个写锁对象,我需要解锁,但我不确定它是否被锁定(取决于相同的变量)。如果未锁定,调用解锁将引发异常。我目前正在做的是这样的:Java解锁ReadWrite锁安全吗?
if (fWriteLock.tryLock())
fWriteLock.unlock();
没有更好的方法吗?
我有一个写锁对象,我需要解锁,但我不确定它是否被锁定(取决于相同的变量)。如果未锁定,调用解锁将引发异常。我目前正在做的是这样的:Java解锁ReadWrite锁安全吗?
if (fWriteLock.tryLock())
fWriteLock.unlock();
没有更好的方法吗?
更清晰的方法是if(fWriteLock.isHeldByCurrentThread())
,但是如果您不知道是否有锁,那听起来您可能有设计问题。
不错,我没有看到这个方法,因为我看过Lock的接口,而不是ReentrantReadWriteLock。 – duduamar