在java中是否存在Mutex对象或创建一个?我问,因为用1许可证初始化的信号量对象对我没有帮助.想想这个案例:
try {
semaphore.acquire();
//do stuff
semaphore.release();
} catch (Exception e) {
semaphore.release();
}
Run Code Online (Sandbox Code Playgroud)
如果在第一次获取时发生异常,则catch块中的释放将增加许可,并且信号量不再是二进制信号量.
请问是正确的方法吗?
try {
semaphore.acquire();
//do stuff
} catch (Exception e) {
//exception stuff
} finally {
semaphore.release();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码会确保信号量是二进制的吗?
java mutex semaphore java.util.concurrent concurrent-programming