AQS-等待隊列中的節點是怎麼加入到對同步狀態獲取的競爭中的

關鍵代碼如下: 第一個紅框的代碼會阻塞當前線程,第二個紅框的代碼會把節點加入到獲取同步狀態的競爭中。 這裏的isOnSyncQueue(node)方法主要的作用就是判斷節點是否在同步隊列中,如果不在,返回fasle,就會在while循環中調用LockSupport.park(this)阻塞住當前線程,那線程什麼時候會被喚醒,當然是當有持有鎖的線程調用了signal()方法且該節點處於等待隊列的首節
相關文章
相關標籤/搜索