AQS : AbstractQueuedSynchronizer 队列同步器,内部的队列是一个虚拟的队列,主要是用 Node 的一个双向列表
CAS:compareAndSet JDK乐观锁的实现方式 ,底层是用
return unsafe.compareAndSwapInt(this, stateOffset, expect, update); java的计算机本地方法实现的
ReentrantLock 封装的加锁和释放锁的方法都是都委托给一个叫Sync的类来实现的
sync : 是AbstractQueuedSynchronizer的子类,主要分为 公平锁 FairSync 和 非公平锁 NonfairSync
sync 主要是用compareAndSetState方法(CAS方式)获取乐观锁的 ,获取不到就加入等待队列
转载于:https://my.oschina.net/st9/blog/670939