AQS-新加入的節點是怎麼進入隊列的

首先節點會進入隊列,肯定是競爭同步狀態失敗了,所以會調用addWaiter()方法來入隊,addWaiter()方法如下: 如截圖中所示,在這個方法中,會構建出一個與當前線程相關的新節點,然後判斷尾節點是否不爲null,如果不爲null,則說明隊列已經初始化成功了,那麼就把新的節點設置爲尾節點,如果尾節點爲空,那麼說明隊列還沒完成初始化,那麼就走enq()方法,enq()方法如下: 如上截圖,en
相關文章
相關標籤/搜索