一.AQS介绍 AQS(AbstractQueuedSynchronizer)抽象队列同步器,属于多线程编程的基本工具:JDK对其定义得很详细,并提供了多种常用的工具类(重入锁,读写锁,信号量,CyclicBarrier,CountDownLatch),在阅读源码的时候,我是从具体工具类往上读的,这样会比较便于理解AQS的设计. 下面,我将从五种常用类去分析源码,进而学习AQS. 论文地址 二.开始吧,重入锁(ReetrantLock) 我们要阅读的重入锁,它首先遵循Lock的规范,并且实现了序…