Copy of
| 2020-9-21
0  |  0 分钟
AQS全称absratQueueSynchronize , 虚拟队列同步器. 简称同步器。
顾名思义,他是一条FIFO双向队列,用来实现同步操作,队列中存放的都是需要同步的线程,每个线程对应四种状态,分别是:
CANCELLED : 表示该线程是因为超时或者中断原因而被放到队列中
CONDITION : 表示该线程是因为某个条件不满足而被放到队列中,需要等待一个条件,直到条件成立后才会出队
SIGNAL : 表示该线程需要被唤醒
PROPAGATE : 表示在共享模式下,当前节点执行释放relace操作后,当前结点需要传播通知给后面所有节点
内部维护一个状态变量 state(int类型)实现状态同步,该值通过CAS方法进行修改,代码如下
 
目录