首页 > TAG信息列表 > acquireQueued

那么h!=null进入,但是头节点的waitStatus还是0,所以不走unpark,A线程结束 A线程结束了谁来唤醒B线程呢? 回到acquireQueued方法 java

final boolean acquireQueued(final Node node, int arg) { boolean failed = true; try { boolean interrupted = false; for (;;) { final Node p = node.predecessor(); if (p == head && tryAcquire(arg)) {

进入acquireQueued方法

final boolean acquireQueued(final Node node, int arg) { boolean failed = true; try { boolean interrupted = false; for (;;) { final Node p = node.predecessor(); if (p == head && tryAcquire(arg)) {