AbstractQueuedSynchronizer::release源码笔记

public final boolean release(int arg) {
     if (tryRelease(arg)) {
          // 注意,这里signalNext的参数为head,即头结点
          // 也就是说线程释放锁后总是会激活等待队列中的第一个节点
          signalNext(head);
          return true;
     }
     return false;
}

 

posted @ 2021-04-15 15:53  榆木脑袋0v0  阅读(48)  评论(0)    收藏  举报