Esiste un oggetto Mutex in java o un modo per crearne uno? Lo chiedo perché un oggetto Semaphore inizializzato con 1 permesso non mi aiuta. Pensa a questo caso:
try {
semaphore.acquire();
//do stuff
semaphore.release();
} catch (Exception e) {
semaphore.release();
}
se si verifica un'eccezione alla prima acquisizione, il rilascio nel blocco catch aumenterà i permessi e il semaforo non è più un semaforo binario.
Sarà il modo corretto?
try {
semaphore.acquire();
//do stuff
} catch (Exception e) {
//exception stuff
} finally {
semaphore.release();
}
Il codice precedente garantirà che il semaforo sarà binario?