Gibt es ein Mutex-Objekt in Java oder eine Möglichkeit, eines zu erstellen? Ich frage, weil ein Semaphor-Objekt, das mit 1 Erlaubnis initialisiert wurde, mir nicht hilft. Denken Sie an diesen Fall:
try {
semaphore.acquire();
//do stuff
semaphore.release();
} catch (Exception e) {
semaphore.release();
}
Wenn beim ersten Erwerb eine Ausnahme auftritt, erhöht die Freigabe im catch-Block die Berechtigungen, und das Semaphor ist kein binäres Semaphor mehr.
Wird der richtige Weg sein?
try {
semaphore.acquire();
//do stuff
} catch (Exception e) {
//exception stuff
} finally {
semaphore.release();
}
Wird der obige Code sicherstellen, dass das Semaphor binär ist?