Ho un pezzo di codice (semplificato):Sblocca ReentrantLock senza IllegalMonitorStateException
if(reentrantLockObject.isLocked()) {
reentrantLockObject.unlock();
}
dove reentrantLockObject è java.util.concurrent.locks.ReentrantLock. A volte ricevo IllegalMonitorStateException. È stato rilasciato il blocco tra la chiamata di controllo e quella di sblocco(). Come posso evitare questa eccezione?
@Mihail, se non si sa se o non il tuo thread tiene il lucchetto, ti suggerirei che potresti fare qualcosa di sbagliato. –