公平鎖定/非公平鎖定
公平鎖定是指多個執行緒依照申請鎖定的順序來取得鎖。
非公平鎖定是指多個執行緒取得鎖的順序,並非依照申請鎖的順序,有可能後申請的執行緒比先申請的執行緒優先取得鎖,有可能,會造成優先反轉或飢餓現象。
獨享鎖定/共享鎖定
獨享鎖定是指該鎖定一次只能被一個執行緒所持有。
共享鎖定是指該鎖定可被多個執行緒所持有。
互斥鎖/讀寫鎖定
上面講的獨享鎖定/共享鎖定就是一種廣義的說法,互斥鎖/讀寫鎖定就是具體的實現。
互斥鎖在Java中的具體實作就是ReentrantLock,讀寫鎖在Java中的具體實作就是ReadWriteLock。
樂觀鎖/悲觀鎖
樂觀鎖與悲觀鎖不是指具體的什麼類型的鎖,而是指看待並發同步的角度。
悲觀鎖定認為對於同一個資料的並發操作,一定是會發生修改的,即使沒有修改,也會認為修改。因此對於同一個資料的並發操作,悲觀鎖採取加鎖的形式。悲觀的認為,不加鎖的並發操作一定會出問題。
樂觀鎖定則認為對於同一個資料的並發操作,是不會發生修改的。在更新資料的時候,會採用嘗試更新,不斷重新的方式更新資料。樂觀的認為,不加鎖的並發操作是沒有事情的。
從上面的描述我們可以看出,悲觀鎖適合寫入操作非常多的場景,樂觀鎖適合讀取操作非常多的場景,不加鎖會帶來大量的效能提升。
悲觀鎖定在Java中的使用,就是利用各種鎖。
樂觀鎖在Java中的使用,是無鎖定編程,常採用的是CAS演算法,典型的例子就是原子類,透過CAS自旋實現原子操作的更新。
推薦教學:java入門教學
以上是java中常見的幾種鎖定有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

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

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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

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