2015-11-05 53 views
1

我有一个写锁对象,我需要解锁,但我不确定它是否被锁定(取决于相同的变量)。如果未锁定,调用解锁将引发异常。我目前正在做的是这样的:Java解锁ReadWrite锁安全吗?

if (fWriteLock.tryLock()) 
      fWriteLock.unlock(); 

没有更好的方法吗?

回答

1

更清晰的方法是if(fWriteLock.isHeldByCurrentThread()),但是如果您不知道是否有锁,那听起来您可能有设计问题。

+0

不错,我没有看到这个方法,因为我看过Lock的接口,而不是ReentrantReadWriteLock。 – duduamar