1、AQS是什么?原理是什么?
AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。
AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。
2、Semaphore(信号量)有什么用?Semaphore的原理是什么?
3、CountDownLatch (倒计时器) 有什么用?CountDownLatch的原理是什么?用过CountDownLatch么?什么场景下用的?
4、CyclicBarrier (循环栅栏)有什么用?CyclicBarrier(循环栅栏)的原理是什么?