搜尋
首頁JavaJava入門java中常見的幾種鎖定有哪些

java中常見的幾種鎖定有哪些

Nov 20, 2019 pm 05:43 PM
java常見

java中常見的幾種鎖定有哪些

公平鎖定/非公平鎖定

公平鎖定是指多個執行緒依照申請鎖定的順序來取得鎖。

非公平鎖定是指多個執行緒取得鎖的順序,並非依照申請鎖的順序,有可能後申請的執行緒比先申請的執行緒優先取得鎖,有可能,會造成優先反轉或飢餓現象。

獨享鎖定/共享鎖定

獨享鎖定是指該鎖定一次只能被一個執行緒所持有。

共享鎖定是指該鎖定可被多個執行緒所持有。

互斥鎖/讀寫鎖定

上面講的獨享鎖定/共享鎖定就是一種廣義的說法,互斥鎖/讀寫鎖定就是具體的實現。

互斥鎖在Java中的具體實作就是ReentrantLock,讀寫鎖在Java中的具體實作就是ReadWriteLock。

樂觀鎖/悲觀鎖

樂觀鎖與悲觀鎖不是指具體的什麼類型的鎖,而是指看待並發同步的角度。

悲觀鎖定認為對於同一個資料的並發操作,一定是會發生修改的,即使沒有修改,也會認為修改。因此對於同一個資料的並發操作,悲觀鎖採取加鎖的形式。悲觀的認為,不加鎖的並發操作一定會出問題。

樂觀鎖定則認為對於同一個資料的並發操作,是不會發生修改的。在更新資料的時候,會採用嘗試更新,不斷重新的方式更新資料。樂觀的認為,不加鎖的並發操作是沒有事情的。

從上面的描述我們可以看出,悲觀鎖適合寫入操作非常多的場景,樂觀鎖適合讀取操作非常多的場景,不加鎖會帶來大量的效能提升。

悲觀鎖定在Java中的使用,就是利用各種鎖。

樂觀鎖在Java中的使用,是無鎖定編程,常採用的是CAS演算法,典型的例子就是原子類,透過CAS自旋實現原子操作的更新。

推薦教學:java入門教學

以上是java中常見的幾種鎖定有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。