AQS是⼀个JAVA线程同步的框架。是JDK中很多锁⼯具的核⼼实现框架。 在AQS中,维护了⼀个信号量state和⼀个线程组成的双向链表队列。其中,这个线程队列,就是⽤来给线程排队的,⽽state就像是⼀个红绿灯,⽤来控制线程排队或者放⾏的。 在不同的场景下,有 不⽤的意义 在可重⼊锁这个场景下,state就⽤来表示加锁的次数。0 标识⽆锁,每加⼀次锁,state就加 1 。释放锁state就减1