Java信号量release()可以在acquire()之前出现

Semaphore允许您将许可增加到超出初始数量的范围。这可以用于例如节流。acquire()/release()根据某些逻辑,工作线程将执行此操作,并且节流器将减少/增加许可。

 

release()方法用于增加许可,因为从文档开始:

不要求释放许可证的线程必须通过调用acquire获取该许可证。通过在应用程序中编程约定,可以正确使用信号量。

换一种说法:

semaphore.release(10),将在当前许可的基础上再增加10个许可

 

release()如果该线程先前未从该线程获得许可,则可以将其视为“创建”另一个许可Semaphore

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值