在学习AbstractQueuedSynchronizer中共享模式的代码的过程中,我有一个问题,我不能理解setHeadAndPropagate中的以下代码:
if (propagate > 0 || h == null || h.waitStatus < 0) {
Node s = node.next;
if (s == null || s.isShared())
doReleaseShared();
}"h“是老头,为什么要用老头检查?
发布于 2018-12-21 17:12:31
如果state等于0并且之前没有节点排队,或者如果之前排队的节点是0或CANCELLED,则不需要唤醒后续节点。
https://stackoverflow.com/questions/44793208
复制相似问题