簡述

ReentrantLock 是一個可重入的互斥(/獨占)鎖,又稱為“獨占鎖”。

ReentrantLock通過自定義隊列同步器(AQS-AbstractQueuedSychronized,是實現(xiàn)鎖的關(guān)鍵)來實現(xiàn)鎖的獲取與釋放。

其可以完全替代 synchronized 關(guān)鍵字。JDK 5.0 早期版本,其性能遠好于 synchronized,但 JDK 6.0 開始,JDK 對 synchronized 做了大量的優(yōu)化,使得兩者差距并不大。

“獨占”,就是在同一時刻只能有一個線程獲取到鎖,而其它獲取鎖的線程只能處于同步隊列中等待,只有獲取鎖的線程釋放了鎖,后繼的線程才能夠獲取鎖。

“可重入”,就是支持重進入的鎖,它表示該鎖能夠支持一個線程對資源的重復(fù)加鎖。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式