Semaphore(转载)的tryAcquire(int permits,long timeout,TimeUnit unit)方法的使用

有参方法tryAcquire(int permits,long timeout,TimeUnit unit)的作用是在指定的时间timeout内尝试地获得permits个许可,如果获取不到则返回false。

下面semaphore.tryAcquire(2,2, TimeUnit.SECONDS)表示2秒内获取2个许可,获取不到则返回false

Semaphore semaphore = new Semaphore(2);
if (semaphore.tryAcquire(2,2, TimeUnit.SECONDS)) {
    System.out.println(Thread.currentThread().getName() + "执行时间:" + System.currentTimeMillis());
semaphore.release(2);
}

  http://www.iocoder.cn/JUC/sike/Semaphore/

原文地址:https://www.cnblogs.com/lzh1043060917/p/13711044.html