中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

宁明县| 孟州市| 浦东新区| 鸡东县| 休宁县| 麻城市| 驻马店市| 井冈山市| 辉南县| 宣威市| 鄄城县| 景东| 中牟县| 岳普湖县| 通城县| 儋州市| 沁水县| 彭泽县| 达尔| 历史| 伊宁县| 天气| 吉木乃县| 乌海市| 克什克腾旗| 东乡族自治县| 黑龙江省| 综艺| 若尔盖县| 剑阁县| 郸城县| 姜堰市| 军事| 雷波县| 景德镇市| 哈巴河县| 夏邑县| 霍州市| 金堂县| 鄂伦春自治旗| 罗江县|