1
我有一個寫鎖對象,我需要解鎖,但我不確定它是否被鎖定(取決於相同的變量)。如果未鎖定,調用解鎖將引發異常。我目前正在做的是這樣的:Java解鎖ReadWrite鎖安全嗎?
if (fWriteLock.tryLock())
fWriteLock.unlock();
沒有更好的方法嗎?
我有一個寫鎖對象,我需要解鎖,但我不確定它是否被鎖定(取決於相同的變量)。如果未鎖定,調用解鎖將引發異常。我目前正在做的是這樣的:Java解鎖ReadWrite鎖安全嗎?
if (fWriteLock.tryLock())
fWriteLock.unlock();
沒有更好的方法嗎?
更清晰的方法是if(fWriteLock.isHeldByCurrentThread())
,但是如果您不知道是否有鎖,那聽起來您可能有設計問題。
不錯,我沒有看到這個方法,因爲我看過Lock的接口,而不是ReentrantReadWriteLock。 – duduamar