4.并發中的各種鎖概念

目錄

  • 概述
  • 鎖分類
    • 按上鎖方式劃分
    • 按特性劃分
      • 悲觀鎖/樂觀鎖
      • 重入鎖/不可重入鎖
      • 公平鎖/非公平鎖
      • 獨享鎖/共享鎖
    • 其它
      • 自旋鎖
      • 分段鎖
      • 無鎖/偏向鎖/輕量級鎖/重量級鎖
  • 結束

概述

java 鎖分類,雖是概念,很常見。

鎖分類

按上鎖方式劃分

關鍵字解釋
隱式鎖synchronized不需要顯示加鎖和解鎖
顯示鎖juc包中提供的鎖需要顯示加鎖和解鎖

按特性劃分

悲觀鎖/樂觀鎖

按照線程在使用共享資源

關鍵字解釋
悲觀鎖juc鎖,synchronized
樂觀鎖cas關系型數據庫的版本號機制

重入鎖/不可重入鎖

按照同一個線程是否可以重復獲取同一把鎖,劃分為重入鎖和不可重入鎖

  • 重入鎖:ReentrantLock、synchronized
  • 不可重入鎖:不可重入鎖,與可重入鎖相反,線程獲取鎖之后不可重復獲取鎖,重復獲取會發生死鎖。

公平鎖/非公平鎖

**按照多個線程競爭同一鎖時需不需要排隊,能不能插隊,**劃分為公平鎖和非公平鎖。

獨享鎖/共享鎖

按照多個線程能不能同時共享同一個鎖,鎖劃分為獨享鎖和共享鎖。

獨享鎖和共享鎖是不能同時存在的。

  • 獨享鎖:獨享鎖也叫排他鎖,synchronized、ReentrantLock、ReentrantReadWriteLock的WriteLock寫鎖
  • 共享鎖:ReentrantReadWriteLock的ReadLock讀鎖

其它

自旋鎖

實現:CAS

分段鎖

實現:ConcurrentHashMap

無鎖/偏向鎖/輕量級鎖/重量級鎖

  • 這四個鎖是synchronized獨有的四種狀態,級別從低到高依次是:無鎖、偏向鎖、輕量級鎖和重量級鎖
  • 它們是jvm為了提高synchronized鎖的獲取與釋放效率而做的優化
  • 四種狀態會隨著競爭的情況逐漸升級,而且是不可逆的過程,即不可降級。

結束

并發中的各種鎖概念,至此就結束了,如有疑問,歡迎評論區留言。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166038.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

提高工作效率的寶藏網站和寶藏工具(高級版)

一、參考資料 親測:你這些網站都不知道,哪來時間去摸魚? 提高工作效率的寶藏網站和寶藏工具(基礎版) 二、好用的網站 HelloGitHub - 開源項目平臺 HelloGitHub 是一個分享有趣、 入門級開源項目的平臺。 希望大家能…

MySQL-02-InnoDB存儲引擎

實際的業務系統開發中,使用MySQL數據庫,我們使用最多的當然是支持事務并發的InnoDB存儲引擎的這種表結構,下面我們介紹下InnoDB存儲引擎相關的知識點。 1-Innodb體系架構 InnoDB存儲引擎有多個內存塊,可以認為這些內存塊組成了一…

qgis添加arcgis的mapserver

左側瀏覽器-ArcGIS地圖服務器-右鍵-新建連接 Folder: / 展開-雙擊圖層即可

oracle 表樹形結構查詢遞歸查詢

簡介: WITH RECURSIVE 是一種在關系型數據庫中處理遞歸查詢的語法。 舉例: 假設我們有一個樹形結構數據表 tree_table, 包含節點的 ID、父節點的 ID 和節點名稱等字段。 示例表數據: --------------- | id | pid | name | ----…

物聯網AI MicroPython學習之語法 I2S音頻總線接口

學物聯網,來萬物簡單IoT物聯網!! I2S 介紹 模塊功能: I2S音頻總線驅動模塊 接口說明 I2S - 構建I2S對象 函數原型:I2S(id, sck, ws, sd, mode, bits, format, rate, ibuf)參數說明: 參數類型必選參數&#xff1f…

關于接口測試自動化的總結與思考!

序 近期看到阿里云性能測試 PTS 接口測試開啟免費公測,本著以和大家交流如何實現高效的接口測試為出發點,本文包含了我在接口測試領域的一些方法和心得,希望大家一起討論和分享,內容包括但不僅限于: 服務端接口測試介…

Vatee萬騰的科技冒險:vatee創新力量的前沿發現

在當今飛速發展的科技潮流中,Vatee萬騰以其獨特的創新力量成為前沿的引領者。這場科技冒險不僅僅是技術的迭代,更是一次前所未有的前沿發現之旅,讓我們一同深入探索Vatee萬騰的科技冒險,感受vatee創新力量的前沿奇跡。 Vatee萬騰將…

【Thumbnailator】圖片壓縮、水印、格式修改一網打盡

前言: 對于javaweb服務端開發人員,圖片資源的管理總是繞不開的一環。很多網站上都會提供上傳圖片這個功能,而現代數碼設備拍攝出來的都是高清圖片,分辨率很高,占用的空間也很大。物理存儲的問題還算容易解決&#xff0…

機器學習---最大似然估計和貝葉斯參數估計

1. 估計 貝葉斯框架下的數據收集,在以下條件下我們可以設計一個可選擇的分類器 : P(wi) (先驗);P(x | wi) (類條件密度) 但是。我們很少能夠完整的得到這些信息! 從一個傳統的樣本中設計一個分類器: ①先驗估計不成問題 ②對類條件密度…

蘋果企業簽名失敗常見的問題

蘋果企業簽名失敗的常見問題主要有以下幾種: 證書過期或無效:蘋果開發者需要定期更新他們的簽名證書,以確保其有效性。一旦證書過期,相關應用將無法正常工作。證書不匹配:如果使用的證書與應用程序的Bundle ID不匹配&…

WT588F02B-8S語音芯片支持PWM音頻輸出的特征優勢及應用前景

隨著科技的飛速發展,語音芯片作為人機交互的核心組件,在各個領域的應用越來越廣泛。而在這些語音芯片中,支持PWM音頻輸出的特性日益受到關注。本文將探討語音芯片支持PWM音頻輸出的特征優勢以及其在各個領域的應用前景。 一、特征優勢 1、高…

git本地賬戶如何從一臺電腦遷移到另外一臺

為了表述方便,我們此處用舊電腦、新電腦指代。 在新電腦上安裝git 例如,我舊電腦上安裝的git版本是2.33.1版本,新電腦安裝git的版本是2.43.0,這不妨礙遷移。 將git的全局配置文件從舊電腦拷貝到新電腦 Git的全局配置文件&…

“關愛零距離.情暖老人心”主題活動

為提高社區老年人的生活質量,促進鄰里間的互動與友誼,以及弘揚尊老愛幼的社區精神,11月21日山東省濰坊市金陽公益服務中心、重慶市潼南區同悅社會工作服務中心在潼南區桂林街道東風社區共同在潼南區桂林街道東風社區舉辦了“關愛零距離.情暖老…

22款奔馳S400L升級原廠360全景影像 高清環繞 無死角

360全景影像影像系統提升行車時的便利,不管是新手或是老司機都將是一個不錯的配置,無論是在倒車,挪車以及拐彎轉角的時候都能及時關注車輛所處的環境狀況,避免盲區事故發生,提升行車出入安全性。 360全景影像包含&…

自學編程,用好這幾個網站就夠了!

如果你要自學編程,一定要收藏好這7個網站,上面免費的優質教程很多,完全可以省去你上萬塊錢的學費! 話不多說,直接上干貨! 第一個,W3school 一個主打圖文教程的網站,不管是前端開發…

怎樣將帶表格的圖片批量合并轉換成word表格?

注:本功能適用于V3.66以上版本的金鳴表格文字識別大師 在日常的辦公場景中,我們常常會遇到需要將帶有表格類的圖片識別成excel的需求。我們知道,普通的OCR軟件并不具備識別中文表格的功能,即使有,效果也強差人意&…

JSP:MVC

Web應用 一個好的Web應用: 功能完善 易于實現和維護 易于擴展等 的體系結構 一個Web應用通常分為兩個部分: m 1. 由界面設計人員完成的 表示層 (主要做網頁界面設計) m 2. 由程序設計人員實現的 行為層 (主要完成本…

SELinux零知識學習二十五、SELinux策略語言之類型強制(10)

接前一篇文章:SELinux零知識學習二十四、SELinux策略語言之類型強制(9) 二、SELinux策略語言之類型強制 3. 訪問向量規則 AV規則就是按照對客體類別的訪問許可指定具體含義的規則,SELinux策略語言目前支持四類AV規則: allow:表示允許主體對客體執行允許的操作。neveral…

2015年7月8日 Go生態洞察:Go、開源與社區

🌷🍁 博主貓頭虎(🐅🐾)帶您 Go to New World?🍁 🦄 博客首頁——🐅🐾貓頭虎的博客🎐 🐳 《面試題大全專欄》 🦕 文章圖文…

C#面試題3

1.請解釋一下C#中的并發編程和線程安全性。 并發編程是指在多線程環境下編寫代碼以實現并發執行的能力。C#提供了一些機制來支持并發編程,如線程、任務和并行循環等。線程安全性是指在多線程環境下,代碼能夠正確地處理共享數據并保持一致性。線程安全的代…