Java Concurrency API 中的 Lock 接口(Lock interface) 是什麼?對比同步它有什麼優點?

Lock 接口比同步方法和同步塊提供了更具擴展性的鎖操做spa

他們容許更靈活的結構能夠具備徹底不一樣的性質而且能夠支持多個相關類的 線程

條件對象對象

它的優點有接口

能夠使鎖更公平 隊列

能夠使線程在等待鎖的時候響應中斷 同步

能夠讓線程嘗試獲取鎖並在沒法獲取鎖的時候當即返回或者等待一段時間 it

能夠在不一樣的範圍以不一樣的順序獲取和釋放鎖 io

總體上來講 Lock  synchronized 的擴展版,Lock 提供了無條件的可輪詢的 擴展

(tryLock 方法)、定時的(tryLock 帶參方法)、可中斷的(lockInterruptibly)、可多 方法

條件隊列的(newCondition 方法)鎖操做另外 Lock 的實現類基本都支持非公平 

(默認)和公平鎖,synchronized 只支持非公平鎖固然在大部分狀況下 

公平鎖是高效的選擇

相關文章
相關標籤/搜索