Java Semaphore类详解说明

转自:

Java Semaphore类详解说明

下文笔者讲述java中Semaphore类的详解说明,如下所示:

Semaphore简介

Semaphore(中文翻译:信号量)
   我们常用于控制访问某一资源的线程个数,
   使用这种方式可使大家按照一定的规则访问某一资源 
Semaphore的原理:
     通过使用计数器来控制对某一资源的访问
	  当计数器大于0,则允许访问
      当计数器为0时,则拒绝访问
      计数器中的计数作为允许访问共享资源的许可
即:访问资源,需从信号量中授予线程许可

Semaphore方法

方法名 备注
void acquire() 从信号量获取一个许可,在无可用许可前,将一直阻塞等待
void acquire(int permits) 获取指定数目的许可,在无可用许可前,也将会一直阻塞等待
boolean tryAcquire() 从信号量尝试获取一个许可,当无可用许可,直接返回false,不会阻塞
boolean tryAcquire(int permits) 尝试获取指定数目的许可,当无可用许可直接返回false
boolean tryAcquire(int permits, long timeout, TimeUnit unit) 在指定的时间内尝试从信号量中获取许可,当在指定的时间内获取成功,返回tr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值