- AQS实现的基础是volatile int state、LockSupport和Unsafe的CAS
- AQS的使用教程
- AQS基本实现逻辑
修改state(CAS)成功则获取所,如果不成功则加入等待队列尾部并把prevNode的awaitState设置为SIGNAL并把当前线程park,等待prevNode释放锁的时候唤醒。
Condition最主要的三个方法是await signal signalAll跟Object相对应的三个方法相比可控制的颗粒度更细更精确。
- 常用的工具类CountDownLatch,Semaphore,CyclicBarrier等。