并发工具类
1. Condition
执行condition的await后会将进入等待队列阻塞,当其他线程signal后会将等待队列中的线程放入同步队列中等待,当其他线程释放锁后,这个线程再去争抢锁
2. Countdownlatch
执行await之后的线程放在AQS队列中,每执行一次countDown方法后会将state的值减1,当减到 0 的时候,所有await的线程会去争抢锁,然后执行完成
3. Semaphore
执行aquire会将state的值减 1 ,当state的值为0的时候,再aquire的线程进入AQS队列,当执行了aquire的线程release之后就会将state加 1 ,叫醒AQS队列中的线程来争抢
4. CyclicBarrier