溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中l(wèi)ock怎么用

發(fā)布時間:2021-04-30 13:20:57 來源:億速云 閱讀:119 作者:小新 欄目:編程語言

小編給大家分享一下java中l(wèi)ock怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Java的特點有哪些

Java的特點有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨立與可移植性、動態(tài)性等特點。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

在之前討論線程問題時,其安全性一直是我們使用的注意點。對于java中鎖的使用,本篇主要基于lock講起。從它的作用來看,我們會發(fā)現(xiàn)使用的靈活性和多個線程共享都得到了實現(xiàn)。下面我們對lock鎖的作用詳細介紹,并帶來其六種用法的展示進行說明,下面一起來看具體的lock使用吧。

1.作用

(1)Lock方式來獲取鎖支持中斷、超時不獲取、是非阻塞的

(2)提高了語義化,哪里加鎖,哪里解鎖都得寫出來

(3)Lock顯式鎖可以給我們帶來很好的靈活性,但同時我們必須手動釋放鎖

(4)支持Condition條件對象

(5)允許多個讀線程同時訪問共享資源

2.lock用法

// 獲取鎖  
void lock()   
 
// 如果當前線程未被中斷,則獲取鎖  
void lockInterruptibly()   
 
// 返回綁定到此 Lock 實例的新 Condition 實例  
Condition newCondition()   
 
// 僅在調(diào)用時鎖為空閑狀態(tài)才獲取該鎖  
boolean tryLock()   
 
// 如果鎖在給定的等待時間內(nèi)空閑,并且當前線程未被中斷,則獲取鎖  
boolean tryLock(long time, TimeUnit unit)   
 
// 釋放鎖  
void unlock()

lock()、tryLock()、tryLock(long time, TimeUnit unit)和lockInterruptibly()是用來獲取鎖的。unLock()方法是用來釋放鎖的。newCondition()這個方法是線程之間通信的。

以上是“java中l(wèi)ock怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI