公平鎖定/非公平鎖定
公平鎖定是指多個執行緒依照申請鎖定的順序來取得鎖。
非公平鎖定是指多個執行緒取得鎖的順序,並非依照申請鎖的順序,有可能後申請的執行緒比先申請的執行緒優先取得鎖,有可能,會造成優先反轉或飢餓現象。
獨享鎖定/共享鎖定
獨享鎖定是指該鎖定一次只能被一個執行緒所持有。
共享鎖定是指該鎖定可被多個執行緒所持有。
互斥鎖/讀寫鎖定
上面講的獨享鎖定/共享鎖定就是一種廣義的說法,互斥鎖/讀寫鎖定就是具體的實現。
互斥鎖在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
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

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

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

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版