1. 前言 在Java中锁所可以分为两大类,一类是通过synchrinized关键字实现的隐式锁,一类是JUC包的锁。前者是通过JVM实现的,后者是根据队列同步器(AQS)实现的,也就是今天的主角。 在JUC包下实现了很多锁以及工具类,例如ReentrantLock、ReadWriteLock、CountDownLatch、CyclicBarrier等,均是通过队列同步器实现的,所以理解了队列同步器的实现原理,对使用这些锁及工具类或者阅读这些类的源码会有很大帮助。 2. 什么是AQS