为了账号安全,请及时绑定邮箱和手机立即绑定

AbstractQueuedSynchronizer的Node状态

AbstractQueuedSynchronizer的Node状态

慕桂英3389331 2019-03-20 19:15:29
Node.SIGNAL 这个是什么意思?是后继节点对应的线程需要运行?还是自己这个节点对应的线程等待被唤醒?
查看完整描述

2 回答

?
凯哥Java

TA贡献6条经验 获得超2个赞

源码中对SIGNAL的解释。

SIGNAL:     The successor of this node is (or will soon be)  blocked (via park), so the current node must  unpark its successor when it releases or  cancels.

 To avoid races, acquire methods must first indicate they need a signal,  then retry the atomic acquire, and then,  on failure, block.

翻译后:

该节点的后继者被(或很快将被阻止)(通过停放),因此当前节点释放或取消时必须取消其后继者的停放。

为了避免种族冲突,acquire方法必须首先表明它们需要信号,然后重试原子获取,然后在失败时阻塞。

  可以理解为当前线程在释放锁后,将要唤醒后续节点。       


查看完整回答
反对 回复 2020-03-30
?
慕森卡

TA贡献1806条经验 获得超8个赞

waitStatus value to indicate successor's thread needs unparking
后续的节点需要被唤醒

查看完整回答
反对 回复 2019-04-20
  • 2 回答
  • 0 关注
  • 836 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号