摘要:
本文原创,转载请注明出处! 参考文章: 《“JUC锁”03之 公平锁(一)》 《“JUC锁”03之 公平锁(二)》 AbstractOwnableSynchronizer,用于供子类存取独占锁的所属线程。 #getExclusiveOwnerThread()/#setExclusiveOwnerTh 阅读全文
摘要:
CyclicBarrier的作用是,线程进入等待后,需要达到一定数量的等待线程后,再一次性开放通行。 CyclicBarrier(int, Runnable)构造方法,参数1为通行所需的线程数量,参数2为条件满足时的监听器。 int await()/int await(long, TimeUnit) 阅读全文
摘要:
Semaphore的作用是,限制线程通行的数量,如果线程进入时达到通行数量,便等待其它正在通行的线程释放。 acquire()获取通行 release()释放通行 availablePermits()查看通行剩余次数 int drainPermits()缩减剩余通行次数为0,并返回缩减量 reduc 阅读全文
摘要:
CountDownLatch的作用是,线程进入等待后,需要计数器达到0才能通行。 CountDownLatch(int)构造方法,指定初始计数。 await()等待计数减至0。 await(long, TimeUnit)在指定时间内,等待计数减至0。 countDown()计数减1。 getCoun 阅读全文
摘要:
本文原创,转载请注明出处。 参考文章: 《“JUC锁”03之 公平锁(一)》 《“JUC锁”03之 公平锁(二)》 锁分独占锁与共享锁,公平锁与非公平锁,悲观锁与乐观锁,可重入锁与不可重入锁,相关概念可查看其它文章。 Lock操作:加锁(lock),解锁(unlock),创建条件对象(newCond 阅读全文