public int drainPermits():
获取并返回所有可立即获得的许可.返回:获取的许可数量.
为什么有人想要获取并立即从信号量中释放所有可用的许可?如果他们想查看可用许可证的数量,为什么不使用Semaphore.availablePermits()
?
JB *_*zet 10
它不释放它们.它获得了所有,这就是全部:
Semaphore s = new Semaphore(10);
System.out.println(s.availablePermits()); // 10
s.drainPermits();
System.out.println(s.availablePermits()); // 0
Run Code Online (Sandbox Code Playgroud)