Есть ли объект Mutex в java или способ его создания? Я спрашиваю, потому что объект Semaphore, инициализированный с 1 разрешением, не помогает мне. Подумайте об этом случае:
try {
semaphore.acquire();
//do stuff
semaphore.release();
} catch (Exception e) {
semaphore.release();
}
если исключение происходит при первом приобретении, релиз в блоке catch увеличивает разрешения, а семафор больше не является двоичным семафором.
Будет ли правильный путь?
try {
semaphore.acquire();
//do stuff
} catch (Exception e) {
//exception stuff
} finally {
semaphore.release();
}
Будет ли указанный код гарантировать, что семафор будет двоичным?