Skip to content

Commit 56f5959

Browse files
authored
Update 深入理解AbstractQueuedSynchronizer(AQS).md
format
1 parent ba1a048 commit 56f5959

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

9.深入理解AbstractQueuedSynchronizer(AQS)/深入理解AbstractQueuedSynchronizer(AQS).md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@
2626

2727
在AQS有一个静态内部类Node,其中有这样一些属性:
2828

29-
> volatile int waitStatus //节点状态
30-
> volatile Node prev //当前节点/线程的前驱节点
31-
> volatile Node next; //当前节点/线程的后继节点
32-
> volatile Thread thread;//加入同步队列的线程引用
33-
> Node nextWaiter;//等待队列中的下一个节点
29+
> volatile int waitStatus //节点状态
30+
> volatile Node prev //当前节点/线程的前驱节点
31+
> volatile Node next; //当前节点/线程的后继节点
32+
> volatile Thread thread;//加入同步队列的线程引用
33+
> Node nextWaiter;//等待队列中的下一个节点
3434
3535
节点的状态有以下这些:
3636

37-
> int CANCELLED = 1//节点从同步队列中取消
38-
> int SIGNAL = -1//后继节点的线程处于等待状态,如果当前节点释放同步状态会通知后继节点,使得后继节点的线程能够运行;
39-
> int CONDITION = -2//当前节点进入等待队列中
40-
> int PROPAGATE = -3//表示下一次共享式同步状态获取将会无条件传播下去
41-
> int INITIAL = 0;//初始状态
37+
> int CANCELLED = 1//节点从同步队列中取消
38+
> int SIGNAL = -1//后继节点的线程处于等待状态,如果当前节点释放同步状态会通知后继节点,使得后继节点的线程能够运行;
39+
> int CONDITION = -2//当前节点进入等待队列中
40+
> int PROPAGATE = -3//表示下一次共享式同步状态获取将会无条件传播下去
41+
> int INITIAL = 0;//初始状态
4242
4343
现在我们知道了节点的数据结构类型,并且每个节点拥有其前驱和后继节点,很显然这是**一个双向队列**。同样的我们可以用一段demo看一下。
4444

0 commit comments

Comments
 (0)