亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java中鎖類型的介紹

發布時間:2020-06-28 13:24:58 來源:億速云 閱讀:134 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Java中鎖類型的介紹,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、自旋鎖

自旋鎖顧名思義,它會等待一定時間(自旋),在這期中會什么都不做就是等資源被釋放,好處在于沒有了內核態用戶態切換的效率損失,但是如果它一直不能訪問到資源的話就會一直占用cpu資源,所以它會循環一段時間后進入阻塞狀態。

2、重量級鎖

synchronized就是重量級鎖的實現機制,搶不到資源的進程會進入阻塞狀態。

3、偏向鎖

顧名思義,它會偏向第一個訪問資源的進程,如果說只有一個進程執行同步代碼塊,那么就會上個偏向鎖,如果有其他線程搶占資源,那么就會升級為輕量級鎖。

4、輕量級鎖

偏向鎖升級之后就是輕量級鎖,鎖只可以升級而不可以降級。輕量級鎖中的其他進程會進入自選狀態,如果說自選失敗,就會升級會重量級鎖。

5、公平、非公正鎖

主要是指線程是否先來后到拿到鎖,synchronized是非公平的,而ReentrantLock默認非公平,可以設置為公平鎖。

6、悲觀鎖

總是假設最壞的情況,每次去拿數據的時候都認為別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會阻塞直到它拿到鎖(共享資源每次只給一個線程使用,其它線程阻塞,用完后再把資源轉讓給其它線程)。

傳統的關系型數據庫里邊就用到了很多這種鎖機制,比如行鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖。Java中synchronized和ReentrantLock等獨占鎖就是悲觀鎖思想的實現。

7、樂觀鎖

總是假設最好的情況,每次去拿數據的時候都認為別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用版本號機制(數據庫中)和CAS算法實現。

上述就是小編為大家分享的Java中鎖類型的介紹了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

盈江县| 杭州市| 北辰区| 阿坝县| 盐池县| 乌苏市| 成都市| 永福县| 翼城县| 丘北县| 巍山| 茂名市| 疏附县| 克东县| 长沙市| 都江堰市| 塘沽区| 临海市| 新乡市| 湛江市| 高唐县| 如皋市| 泗洪县| 苏州市| 南华县| 江安县| 南投市| 昭觉县| 赤壁市| 新平| 玛多县| 邵阳县| 万山特区| 靖宇县| 乐东| 洛宁县| 沙雅县| 资阳市| 巴中市| 惠东县| 惠来县|