方法名 | 备注 |
void acquire() | 从信号量获取一个许可,在无可用许可前,将一直阻塞等待 |
void acquire(int permits) | 获取指定数目的许可,在无可用许可前,也将会一直阻塞等待 |
boolean tryAcquire() | 从信号量尝试获取一个许可,当无可用许可,直接返回false,不会阻塞 |
boolean tryAcquire(int permits) | 尝试获取指定数目的许可,当无可用许可直接返回false |
boolean tryAcquire(int permits, long timeout, TimeUnit unit) | 在指定的时间内尝试从信号量中获取许可,当在指定的时间内获取成功,返回true,否则返回false |
void release() | 释放一个许可,别忘了在finally中使用 注意:多次调用该方法,会使信号量的许可数增加,达到动态扩展的效果 如:初始permits为1,调用了两次release,最大许可会改变为2 |
int availablePermits() | 获取当前信号量可用的许可 |
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |