AQS等待队列发送信号
2017-04-11 18:22:11 0 举报
AQS signal流程
作者其他创作
大纲/内容
成功
否
失败,说明该节点已不在等待队列中
函数退出
是否有等待中的节点(doSignal)
抛出异常
重启线程A(LockSupport.unpark)
是
重置前驱节点状态为SIGNAL(transferForSignal)
线程B发送信号(signal)
前驱节点已CANCELLED或状态修改失败
重置节点status(transferForSignal)
检查独占状态(isHeldExclusively)
构建节点加入同步队列(enq)
0 条评论
下一页