Esiste un object Mutex in java o un modo per crearne uno? Ti sto chiedendo perché un object 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 aumenta i permessi e il semaforo non è più un semaforo binario.
Sarà il modo corretto essere?
try { semaphore.acquire(); //do stuff } catch (Exception e) { //exception stuff } finally { semaphore.release(); }
Il codice sopra riportato assicurerà che il semaforo sarà binario?