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中的集合主要分為四類:
1、List列表:有順序的,可重複的;
2、Queue佇列:有序,可重複的;
3、Set集合:不可重複;
4、Map映射:無序,鍵唯一,值不唯一。
以上是Java中的Lock介面是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!