Provides a framework for implementing blocking locks and related
synchronizers (semaphores, events, etc) that rely on
first-in-first-out (FIFO) wait queues.
提供一个基于FIFO等待队列的框架来实现阻塞锁和相关的同步器(semaphores, events,等)
This class is designed to be a useful basis for most kinds of synchronizers that rely on a
single atomic {@code int} value to represent state.
这个类基于一个原子变量来表示状态,并设计成一个对于大多与同步器有用的基础组件。
Subclasses must define the protected methods that change this state, and which
define what that state means in terms of this object being acquired or released.
子类必须定义那些改变state状态的protected方法,子类应该定义对象获得或者释放states状态的含义。
(这里不太好翻译和理解,意思就是子类需要重写对应的protected方法,在方法里面会改变states状态,我们
需要描述出获得或者释放states的含义,,大概这么理解吧。)
Given these, the other methods in this class carry out all queuing and blocking mechanics.
基于这些,AQS类里面的其他方法会实现队列和阻塞机制。
Subclasses should be defined as non-public internal helper
classes that are used to implement the synchronization properties
of their enclosing class.
子类应该定义一个非公开的内部帮助类来协助外部类实现同步属性。