java中lock介面是什麼

dapan發表於2021-09-11

java中lock介面是什麼

本教程操作環境:windows7系統、java10版,DELL G3電腦。

1.說明

lock 介面出現之前,Java 程式是靠 synchronized 關鍵字實現鎖功能的,而 Java SE 5 之後,併發包中新增了 lock 介面 (以及相關實現類) 用來實現鎖功能,它提供了與 synchronized 關鍵字類似的同步功能,

只是在使用時需要顯式地獲取和釋放鎖。雖然它缺少了 (透過 synchronized 塊或者方法所提供的) 隱式獲取釋放鎖的便捷性,但是卻擁有了鎖獲取與釋放的可操作性、可中斷的獲取鎖以及超時獲取鎖等多種 synchronized 關鍵字所不具備的同步特性。

2.主要方法

lock() 新增鎖

unlock() 釋放鎖

tryLock() 這個方法確保了在需要鎖的時候,是未加鎖的狀態。返回true,表示是未加鎖的;返回false,表示已加鎖。

new Condition()  返回當前lock的一個Condition例項

因為每次都鎖住程式碼效率不高,又擴充套件了ReadWriteLock,實現類主要有ReentrantReadWriteLock

我們在使用鎖功能時,由於synchronized的不足點,會帶來一些使用上的不便,在新的java版本中,產生了lock介面的概念,可以說在鎖的獲取與釋放上實現了相關的技術操作。

以上就是java中lock介面的基本介紹,看完文章的小夥伴會發現,其中很多介面類是我們使用過的,大家看完後不妨就lock介面做一些練習。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758/viewspace-2830870/,如需轉載,請註明出處,否則將追究法律責任。

相關文章