countDOwnLatch:当线程1调用await方法那么就会阻塞,线程2,线程3,线程4分别调用countDown方法,当线程4调用countDown方法那么阻塞的队列不管有多少个都会依此唤醒,并不会像AQS中的当一把锁释放时只会唤醒第一个线程所对应的节点,不论公平锁还是非公平锁,例如Reetrantlock就是基于AQS
Semaphore:生成3个权限,相当于生成了三把锁,线程1,线程2,线程3都调用了acquire方法,拿到了锁并运行,但是此时锁已用完,当线程4调用时,则会阻塞,知道某一个线程调用release方法释放了锁,线程4才可以拿到锁运行
标签:调用,Semaphore,阻塞,线程,countDownLatch,方法 From: https://www.cnblogs.com/dujl/p/16814591.html