AQS 的内部实现
AQS隊列內部維護的是一個FIFO的雙向鏈表,這種結構的特點是每個數據結構都有兩個指針,分別指向直接的后繼節點和直接前驅節點。所以雙向鏈表可以從任意一個節點開始很方便的訪問前驅和后繼。每個Node其實是由線程封裝,當線程爭搶鎖失敗后會封裝成Node加入到ASQ
隊列中去;當獲取鎖的線程釋放鎖以后,會從隊列中喚醒一個阻塞的節點(線程)。
Node的組成?
?
總結
- 上一篇: AQS 的两种功能
- 下一篇: 释放锁以及添加线程对于队列的变化