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

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 关注
  • 768 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信