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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java 中/**是什麼Java
- java中RMI是什麼Java
- java中@Inherited是什麼?Java
- java中@Retention是什麼?Java
- 什麼是Java Marker Interface(標記介面)Java
- Java 介面和抽象類是什麼,有什麼區別Java抽象
- 代理IP中的API介面是什麼?API
- java中死鎖是什麼Java
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- Java是什麼_Java是做什麼的?Java
- 什麼是SATA介面
- 什麼是API介面,具體是什麼意思?API
- Java中活鎖是什麼啊?Java
- Java中什麼是序列化?Java
- 什麼是介面,如何理解
- 什麼是介面測試?
- Java中equals和==比的是什麼Java
- 【學習】介面是什麼?實現原理的是什麼?
- lineout是什麼介面
- 為什麼Java中繼承是有害的Java中繼繼承
- Java是什麼? Java適用於什麼工作?Java
- 什麼是java常量?Java
- 什麼是java常量Java
- 什麼是JAVA ? (轉)Java
- Java是什麼 (轉)Java
- 什麼是介面?如何定義介面?如何實現介面?
- 【Java面試】Mybatis中#{}和${}的區別是什麼?Java面試MyBatis
- Java是什麼?主要是幹什麼的?Java
- Java swing是什麼?有什麼作用?Java
- Java 繼承是什麼?Java繼承
- Java專案是什麼?Java
- MySQL next-key lock 加鎖範圍是什麼?MySql
- 介面測試是什麼?如何做好介面測試?
- 介面測試關注點是什麼?
- 什麼是物理層介面?—Vecloud微雲Cloud
- 什麼是統一介面?
- 深入探究Java中equals()和==的區別是什麼Java
- 在Java中建立物件的不同方法是什麼?Java物件