中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Synchronized和Lock的對(duì)比和選擇

Synchronized和Lock的對(duì)比和選擇

來(lái)源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-09-08 17:11:44 1662628304

  存在層次上

  synchronized: Java的關(guān)鍵字,在jvm層面上

  Lock: 是一個(gè)接口

  鎖的釋放

Synchronized和Lock

  synchronized: 1、以獲取鎖的線程執(zhí)行完同步代碼,釋放鎖 2、線程執(zhí)行發(fā)生異常,jvm會(huì)讓線程釋放鎖

  Lock: 在finally中必須釋放鎖,不然容易造成線程死鎖

  鎖的獲取

  synchronized: 假設(shè)A線程獲得鎖,B線程等待。如果A線程阻塞,B線程會(huì)一直等待

  Lock: 分情況而定,Lock有多個(gè)鎖獲取的方式,大致就是可以嘗試獲得鎖,線程可以不用一直等待(可以通過(guò)tryLock判斷有沒(méi)有鎖)

  鎖的釋放(死鎖產(chǎn)生)

  synchronized: 在發(fā)生異常時(shí)候會(huì)自動(dòng)釋放占有的鎖,因此不會(huì)出現(xiàn)死鎖

  Lock: 發(fā)生異常時(shí)候,不會(huì)主動(dòng)釋放占有的鎖,必須手動(dòng)unlock來(lái)釋放鎖,可能引起死鎖的發(fā)生

  鎖的狀態(tài)

  synchronized: 無(wú)法判斷

  Lock: 可以判斷

  鎖的類型

  synchronized: 可重入 不可中斷 非公平

  Lock: 可重入 可判斷 可公平(兩者皆可)

  性能

  synchronized: 少量同步

  Lock: 大量同步

  Lock可以提高多個(gè)線程進(jìn)行讀操作的效率。(可以通過(guò)readwritelock實(shí)現(xiàn)讀寫(xiě)分離)

  在資源競(jìng)爭(zhēng)不是很激烈的情況下,Synchronized的性能要優(yōu)于ReetrantLock,但是在資源競(jìng)爭(zhēng)很激烈的情況下,Synchronized的性能會(huì)下降幾十倍,但是ReetrantLock的性能能維持常態(tài);

  ReentrantLock提供了多樣化的同步,比如有時(shí)間限制的同步,可以被Interrupt的同步(synchronized的同步是不能Interrupt的)等。在資源競(jìng)爭(zhēng)不激烈的情形下,性能稍微比synchronized差點(diǎn)點(diǎn)。但是當(dāng)同步非常激烈的時(shí)候,synchronized的性能一下子能下降好幾十倍。而ReentrantLock確還能維持常態(tài)。

  調(diào)度

  synchronized: 使用Object對(duì)象本身的wait 、notify、notifyAll調(diào)度機(jī)制

  Lock: 可以使用Condition進(jìn)行線程之間的調(diào)度

  用法

  synchronized: 在需要同步的對(duì)象中加入此控制,synchronized可以加在方法上,也可以加在特定代碼塊中,括號(hào)中表示需要鎖的對(duì)象。

  Lock: 一般使用ReentrantLock類做為鎖。在加鎖和解鎖處需要通過(guò)lock()和unlock()顯示指出。所以一般會(huì)在finally塊中寫(xiě)unlock()以防死鎖。

  底層實(shí)現(xiàn)

  synchronized: 底層使用指令碼方式來(lái)控制鎖的,映射成字節(jié)碼指令就是增加來(lái)兩個(gè)指令:monitorenter和monitorexit。當(dāng)線程執(zhí)行遇到monitorenter指令時(shí)會(huì)嘗試獲取內(nèi)置鎖,如果獲取鎖則鎖計(jì)數(shù)器+1,如果沒(méi)有獲取鎖則阻塞;當(dāng)遇到monitorexit指令時(shí)鎖計(jì)數(shù)器-1,如果計(jì)數(shù)器為0則釋放鎖。

  Lock: 底層是CAS樂(lè)觀鎖,依賴AbstractQueuedSynchronizer類,把所有的請(qǐng)求線程構(gòu)成一個(gè)CLH隊(duì)列。而對(duì)該隊(duì)列的操作均通過(guò)Lock-Free(CAS)操作。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么?

軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā),從宏觀上看,是一個(gè)高度關(guān)注人員交互,持續(xù)開(kāi)發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問(wèn)題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問(wèn)題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
快速通道
主站蜘蛛池模板: 国产福利91精品 | 国产综合精品一区二区三区 | 亚洲综合社区 | 日韩在线免费电影 | 成人网电影 | 黄色在线网站 | 伊人网在线免费观看 | 精品在线播放 | 成人精品 | 中文字幕一级毛片 | 黄色毛片网站在线观看 | www.日韩视频 | 蜜臀久久99精品久久久无需会员 | 69av.com| 欧美精品久久久久久精华液 | 精品日韩一区 | 久久精品这里只有精品 | 一级一级毛片 | 香蕉黄色一级片 | 一区二区在线视频 | 国产成人精品一区二区三区 | 91综合视频在线观看 | 91精品国产日韩91久久久久久 | 免费黄色影视 | 欧美一区永久视频免费观看 | 日韩精品一区二区三区四区五区 | 色婷婷久久久久swag精品 | 奇米精品一区二区三区在线观看 | 亚洲最新视频在线观看 | 求av网址 | 日韩专区在线播放 | 亚洲精品一区在线观看 | 精品一区二区在线观看 | 国产一级淫免费播放m | 亚洲xxxx在线观看 | 久久精品国产一区二区电影 | 久久精品一区二区三区不卡牛牛 | 四虎永久免费在线 | 国产精品美女久久久久aⅴ国产馆 | 精品国产一级毛片 | 9久9久9久女女女九九九一九 |