AQS理解

113 阅读1分钟
  1. AQS实现的基础是volatile int state、LockSupport和Unsafe的CAS

    Java的LockSupport.park()实现分析

  2. AQS的使用教程
  3. AQS基本实现逻辑

修改state(CAS)成功则获取所,如果不成功则加入等待队列尾部并把prevNode的awaitState设置为SIGNAL并把当前线程park,等待prevNode释放锁的时候唤醒。
Condition最主要的三个方法是await signal signalAll跟Object相对应的三个方法相比可控制的颗粒度更细更精确。

  1. 常用的工具类CountDownLatch,Semaphore,CyclicBarrier等。