setHeadAndPropagate
生活随笔
收集整理的這篇文章主要介紹了
setHeadAndPropagate
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個方法的主要作用是把被喚醒的節點,設置成head節點。 然后繼續喚醒隊列中的其他線程。
由于現在隊列中有3個線程處于阻塞狀態,一旦ThreadA被喚醒,并且設置為head之后,會繼續喚醒后續的ThreadB
private void setHeadAndPropagate(Node node, int propagate) { Node h = head; // Record old head for check below setHead(node); if (propagate > 0 || h == null || h.waitStatus < 0 || (h = head) == null || h.waitStatus < 0) { Node s = node.next; if (s == null || s.isShared()) doReleaseShared(); } }圖解分析
?
總結
以上是生活随笔為你收集整理的setHeadAndPropagate的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: doAcquireSharedInter
- 下一篇: Semaphore源码分析