We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents e5c5905 + d4a6735 commit 0d02f9aCopy full SHA for 0d02f9a
docs/thread/aqs.md
@@ -256,10 +256,10 @@ private void unparkSuccessor(Node node) {
256
// 得到头结点的后继结点head.next
257
Node s = node.next;
258
// 如果这个后继结点为空或者状态大于0
259
- // 通过前面的定义我们知道,大于0只有一种可能,就是这个结点已被取消
+ // 通过前面的定义我们知道,大于0只有一种可能,就是这个结点已被取消(只有 Node.CANCELLED(=1) 这一种状态大于0)
260
if (s == null || s.waitStatus > 0) {
261
s = null;
262
- // 等待队列中所有还有用的结点,都向前移动
+ // 从尾部开始倒着寻找第一个还未取消的节点(真正的后继者)
263
for (Node t = tail; t != null && t != node; t = t.prev)
264
if (t.waitStatus <= 0)
265
s = t;
0 commit comments