fullyRelease
生活随笔
收集整理的這篇文章主要介紹了
fullyRelease
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
fullRelease,就是徹底的釋放鎖,什么叫徹底呢,就是如果當前鎖存在多次重入,那么在這個方法中只需要釋放一次就會把所有的重入次數歸零。
final int fullyRelease(Node node) { boolean failed = true; try { int savedState = getState(); //獲得重入的次數 if (release(savedState)) {//釋放鎖并且喚醒下一個同步隊列中的線程 failed = false; return savedState; } else { throw new IllegalMonitorStateException(); } } finally { if (failed) node.waitStatus = Node.CANCELLED; } }圖解分析
此時,同步隊列會觸發鎖的釋放和重新競爭。ThreadB獲得了鎖。
?
總結
以上是生活随笔為你收集整理的fullyRelease的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: addConditionWaiter
- 下一篇: isOnSyncQueue