信号(Semaphore)源码

成员:sync
方法:acquire acquire(int) acquireUnInterruptibly acquireUnInterruptily(int) tryAcquire tryAcquire(int) tryAcquire(long, TimeUnit)  tryAcquire(int, long, TimeUnit)
release  release(int) 
availablePermits  drainPermits  isFair  hasQueueThreads  getQueueLength
内部类:Sync  NonFairSync  FairSync
两个子Sync都覆盖了tryAcquireShared
非公平的是拿当前状态和acquires相减然后compareAndSetState
公平的比非公平的多一个步骤,就是在之前通过getFirstQueuedThread获取线程和当前线程相比,FIFO公平
 
tryAcquireShared
tryAcquire
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值