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.yayihouse.com/yayishuwu/chapter/1398