如何知道信号量是否会阻止我的进程

时间:2015-12-08 16:19:49

标签: java concurrency semaphore

我在java中为我的大学做了一项工作,我需要知道是否有某种方法可以知道信号量是否会阻止一个获取的进程。

1 个答案:

答案 0 :(得分:0)

是的,如果您使用的是java.util.concurrent.Semaphore

  

boolean tryAcquire()

     

只有在获得此信号量的许可时才会获得许可   一个在调用时可用。

boolean acquired = semaphore.tryAcquire();
if (acquired) {
    System.out.println("Got it!");
    semaphore.release();
} else {
    System.out.println("Returned immediately, would have blocked");
}
相关问题