Existe-t-il un objet Mutex en java ou un moyen d'en créer un ? Je demande car un objet Sémaphore initialisé avec 1 permis ne m'aide pas. Pensez à ce cas :
try {
semaphore.acquire();
//do stuff
semaphore.release();
} catch (Exception e) {
semaphore.release();
}
si une exception se produit à la première acquisition, le release dans le bloc catch augmentera les permis, et le sémaphore n'est plus un sémaphore binaire.
Est-ce que la manière correcte sera ?
try {
semaphore.acquire();
//do stuff
} catch (Exception e) {
//exception stuff
} finally {
semaphore.release();
}
Le code ci-dessus garantit-il que le sémaphore sera binaire ?