大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Java多線程鎖是什么

Java多線程鎖是什么

更新時(shí)間:2020-08-20 12:18:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1430次


Java多線程鎖是什么?這個(gè)問題就由動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編來為大家解答。


Java多線程鎖


Java中的鎖有以下幾種:


一、可重入鎖:


1. 當(dāng)一個(gè)線程再次獲取它自己已經(jīng)獲取的鎖時(shí),如果不被阻塞,則說明該鎖是可重入鎖,也就是只要該線程獲取了該鎖,那么可以無限次數(shù)地進(jìn)入被該鎖鎖住的代碼里。相反,如果被阻塞了,說明是不可重入鎖。


2. synchronized內(nèi)部鎖是可重入鎖。可重入鎖的原理:在鎖內(nèi)部維護(hù)一個(gè)線程標(biāo)示,用來標(biāo)示該鎖目前被哪個(gè)線程占用。


當(dāng)一個(gè)線程獲取了該鎖時(shí)。計(jì)數(shù)器的值會(huì)變成1,這時(shí)其他線程再來獲取該鎖時(shí)會(huì)發(fā)現(xiàn)鎖的所有者不是自己而被阻塞掛起。但是當(dāng)獲取了該鎖的線程再次獲取鎖時(shí)發(fā)現(xiàn)鎖擁有者是自己,就會(huì)把計(jì)數(shù)器值加+1,當(dāng)釋放鎖后計(jì)數(shù)器值-1。當(dāng)計(jì)數(shù)器的值為0時(shí),鎖里面的線程標(biāo)示被重置為null,這時(shí)被阻塞的線程會(huì)被喚醒來競(jìng)爭(zhēng)獲取該鎖。


二、死鎖


死鎖:當(dāng)一個(gè)線程永遠(yuǎn)的持有一把鎖,并且其他線程都嘗試來獲得這把鎖時(shí),就會(huì)發(fā)生死鎖。


多個(gè)線程互相擁有鎖,互不釋放鎖,造成線程死鎖


可以通過cmd命令窗口中輸入jconsole命令來檢測(cè)線程情況,查看死鎖。


三、自旋鎖


自旋鎖:當(dāng)前線程在獲取鎖時(shí),如果發(fā)現(xiàn)鎖已經(jīng)被其他線程占有,它不會(huì)馬上阻塞自己,在不放棄CPU使用權(quán)的情況下,多次嘗試獲取(默認(rèn)次數(shù)是10,可以通過使用-XX:PreBlockSpinsh參數(shù)設(shè)置該值),很有可能在后面的幾次嘗試中其他線程已經(jīng)釋放了鎖。而如果嘗試指定的次數(shù)后仍沒有獲取到鎖,則當(dāng)前線程才會(huì)被阻塞掛起。


自旋鎖是使用CPU時(shí)間換取線程阻塞與調(diào)度的開銷,但是很有可能這些CPU時(shí)間白白浪費(fèi)了。


四、Lock鎖


1. Lock鎖需要顯示地獲取lock()和釋放鎖unlock(),繁瑣,但是代碼編寫靈活。


Synchronized不需要顯示地獲取和釋放鎖,簡(jiǎn)單。


2. 使用Lock可以方便的實(shí)現(xiàn)公平性;


3. Lock可以非阻塞的獲取鎖,能被中斷的獲取鎖,也能超時(shí)獲取鎖;


五、獨(dú)占鎖和共享鎖


1. 根據(jù)鎖只能被單個(gè)線程持有還是能被多個(gè)線程共同持有,鎖可以分為獨(dú)占鎖和共享鎖。


獨(dú)占鎖:它保證任何時(shí)候都只有一個(gè)線程能得到鎖,ReetrantLock就是以獨(dú)占方式實(shí)現(xiàn)的。


共享鎖:它可以同時(shí)由多個(gè)線程持有,如ReadWriteLock讀寫鎖,它允許一個(gè)資源可以被多個(gè)線程同時(shí)進(jìn)行操作。


2. 獨(dú)占鎖是一種悲觀鎖,由于每次訪問資源都先加上互斥鎖,這就限制了并發(fā)性,因?yàn)樽x操作并不會(huì)影響數(shù)據(jù)的一致性,不存在線程安全問題,而獨(dú)占鎖只允許在同一時(shí)間由一個(gè)線程讀取數(shù)據(jù),其他線程必須等待當(dāng)前線程釋放鎖才能進(jìn)行讀取。


3. 共享鎖是一種樂觀鎖,它放寬了加鎖的條件,允許多個(gè)線程同時(shí)進(jìn)行讀操作。


Java多線程鎖是什么


通過上述相信大家對(duì)Java多線程鎖已經(jīng)有所了解,如果想了解更多相關(guān)信息,可以到動(dòng)力節(jié)點(diǎn)官網(wǎng)中的技術(shù)文檔中進(jìn)行在線學(xué)習(xí)。


提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 人人草人人干 | 日本高清不卡在线观看 | 欧美香蕉视频在线观看 | 久爱午夜精品免费视频 | 清纯唯美亚洲综合日韩第 | 国产亚洲精品国产第一 | 中文字幕在线观看一区二区三区 | 日日摸夜夜添夜夜添欧美毛片 | 欧美三级中文字幕 | 日本精品一区二区三区视频 | 奇米影音第四色 | 高清不卡一区二区三区 | 99久久精品一区二区三区 | 久久精品国产精品亚洲红杏 | 亚洲国产高清人在线 | 青青久久国产成人免费网站 | 综合激情婷婷 | 毛片一级在线观看 | 99这里只有精品 | 亚洲精品久久久成人 | 美女个护士一级毛片亚洲 | 亚洲精品动漫3d一区二区 | 91嫩草国产线免费观看 | 精品一区二区三区的国产在线观看 | 久久精品一区二区三区四区 | 日韩婷婷| 国产成人精品精品欧美 | 老子影院伦不卡欧美 | 性生活视频免费 | 四虎永久免费在线 | 在线麻豆 | 亚洲一区视频在线播放 | 四虎影视在线影院4hu | 一级二级毛片 | 亚洲水蜜桃久久综合网站 | 爱操综合网 | 国产99视频在线 | 亚洲精品国产乱码在线播 | 97在线观看免费观看高清 | 狠狠色噜噜狠狠狠狠米奇777 | 国内精品久久久久久久 |