国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

各種鎖

leejan97 / 2998人閱讀

摘要:各種鎖公平鎖和非公平鎖公平鎖每個(gè)線程按照調(diào)用的順序依次獲取鎖獲取鎖之前先檢查等待隊(duì)列是否有線程如果沒(méi)有線程嘗試獲取鎖否則排隊(duì)非公平鎖線程獲取鎖的順序不定與調(diào)用順序無(wú)關(guān)直接嘗試獲取鎖未成功再排隊(duì)例子線程到達(dá)順序先到達(dá)獲取鎖到達(dá)獲取鎖嘗試獲

各種鎖 公平鎖和非公平鎖 公平鎖

每個(gè)線程按照調(diào)用lock的順序依次獲取鎖, 獲取鎖之前先檢查等待隊(duì)列是否有線程, 如果沒(méi)有線程嘗試獲取鎖, 否則排隊(duì)

非公平鎖

線程獲取鎖的順序不定, 與調(diào)用lock順序無(wú)關(guān), 直接嘗試獲取鎖, 未成功再排隊(duì)

例子

線程到達(dá)順序 A->B->C

A先到達(dá)獲取鎖

B到達(dá)獲取鎖, 嘗試獲取失敗, 進(jìn)入排隊(duì)隊(duì)列

A釋放鎖喚醒B, 同時(shí)C到達(dá)

公平鎖

C發(fā)現(xiàn)等待隊(duì)列中有線程, 直接進(jìn)入等待隊(duì)列隊(duì)尾排隊(duì)掛起, B獲取到鎖

非公平鎖

情況一: C一來(lái)直接嘗試獲取鎖, B獲取鎖失敗, 再次進(jìn)入等待隊(duì)列掛起

情況二: C一來(lái)直接嘗試獲取鎖, B獲取鎖成功, C進(jìn)入等待隊(duì)列掛起

悲觀鎖和樂(lè)觀鎖 悲觀鎖

每次獲取數(shù)據(jù)之前先加鎖, 結(jié)束之后再釋放, 占據(jù)鎖期間, 別人無(wú)法獲取數(shù)據(jù)

樂(lè)觀鎖

獲取數(shù)據(jù)時(shí)不加鎖, 但是設(shè)定一個(gè)版本號(hào), 執(zhí)行完事務(wù)后, 與最初版本號(hào)進(jìn)行比較, 如果相等說(shuō)明數(shù)據(jù)沒(méi)有被修改, 將版本號(hào)加一, 如果獲取到的版本號(hào)小于最新版本號(hào), 說(shuō)明當(dāng)前數(shù)據(jù)可能被修改過(guò), 放棄本次操作, 重新操作

適用場(chǎng)景

當(dāng)沖突較少發(fā)生時(shí), 可以選擇使用樂(lè)觀鎖, 節(jié)省了加鎖的代價(jià), 加大吞吐量; 但當(dāng)沖突較多發(fā)生時(shí), 選擇樂(lè)觀鎖時(shí)則會(huì)經(jīng)常Retry, 降低性能, 或者此時(shí)可以選用悲觀鎖

mysql實(shí)現(xiàn) 悲觀鎖實(shí)現(xiàn)
select from ... for update
樂(lè)觀鎖實(shí)現(xiàn)

在表中增加一個(gè)作為數(shù)據(jù)版本號(hào)的字段, 最好為每個(gè)需要樂(lè)觀鎖的字段多帶帶設(shè)置一個(gè)版本號(hào), 否則可能會(huì)造成不必的沖突

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70941.html

相關(guān)文章

  • java線程同步

    摘要:只有首先獲得鎖的任務(wù)線程才能繼續(xù)獲取該對(duì)象上的多個(gè)鎖。會(huì)進(jìn)一步對(duì)時(shí)失敗的那些線程進(jìn)行阻塞操作調(diào)用操作系統(tǒng)的信號(hào)量此段來(lái)摘自別處。提供了多樣化的同步,比如有時(shí)間限制的同步,可以被的同步的同步是不能的等。 各種方法 1?synchronized方法。 public synchronized void save(){} 2?synchronized代碼塊。 synchronized(obj...

    endless_road 評(píng)論0 收藏0
  • 你和阿里資深架構(gòu)師之間,差的不僅僅是年齡(進(jìn)階必看)

    摘要:導(dǎo)讀閱讀本文需要有足夠的時(shí)間,筆者會(huì)由淺到深帶你一步一步了解一個(gè)資深架構(gòu)師所要掌握的各類(lèi)知識(shí)點(diǎn),你也可以按照文章中所列的知識(shí)體系對(duì)比自身,對(duì)自己進(jìn)行查漏補(bǔ)缺,覺(jué)得本文對(duì)你有幫助的話(huà),可以點(diǎn)贊關(guān)注一下。目錄一基礎(chǔ)篇二進(jìn)階篇三高級(jí)篇四架構(gòu)篇五擴(kuò) 導(dǎo)讀:閱讀本文需要有足夠的時(shí)間,筆者會(huì)由淺到深帶你一步一步了解一個(gè)資深架構(gòu)師所要掌握的各類(lèi)知識(shí)點(diǎn),你也可以按照文章中所列的知識(shí)體系對(duì)比自身,對(duì)自己...

    huaixiaoz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<