av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

瀏覽:75日期:2022-08-27 16:05:13

上下文:程序運(yùn)行需要的環(huán)境(外部變量)

上下文切換:將之前的程序需要的外部變量復(fù)制保存,然后切換到新的程序運(yùn)行環(huán)境

系統(tǒng)調(diào)用:(用戶態(tài)陷入操作系統(tǒng),通過操作系統(tǒng)執(zhí)行內(nèi)核態(tài)指令,執(zhí)行完回到用戶態(tài))用戶態(tài)——內(nèi)核態(tài)——用戶態(tài):兩次上下文切換

線程wait()方法:將自身加入等待隊(duì)列,發(fā)生了一次上下文切換

notify()方法:將線程喚醒,也發(fā)生了上下文切換

Java線程中的鎖:偏向鎖、輕量級鎖、重量級鎖。

注意:偏向鎖和輕量級鎖都沒有發(fā)生競爭,重量級鎖發(fā)生了競爭。

偏向鎖:可重入和經(jīng)常使用某一個(gè)線程。

輕量級鎖:線程之間的切換,但是未發(fā)生競爭(在一個(gè)時(shí)間段只有一個(gè)線程使用)

重量級鎖:線程時(shí)間的競爭。

臨界區(qū):多個(gè)線程共享臨界區(qū),而且存在對臨界區(qū)的讀寫。

Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

無所狀態(tài):hashcode 31位年齡age:4位是否是偏向鎖:block_lock:一位:0表示不是偏向鎖

偏向鎖:thread:54位 線程idepoch 2位,作為批量重偏向的記錄biased_lock:1 表示為偏向鎖

輕量級鎖:ptr_to_lock_record:62位表示,鎖記錄的指針

重量級鎖:ptr_to_heavyweight_monitor :62位表示monitor指針

輕量級鎖的流程:

Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

鎖記錄有兩個(gè)指針:一個(gè)指向自身,一個(gè)指向lock對象,當(dāng)lock對象位state位01時(shí),表示位輕量級鎖,此時(shí)執(zhí)行輕量級鎖的加鎖:交換lock record和markword

鎖重入:

Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

同樣創(chuàng)建一個(gè)LockRecord但此時(shí)cas失敗,因?yàn)榇藭r(shí)lock對象的markword為當(dāng)前鎖記錄的指針,置lockrecord指針為null,表示鎖重入,并且添加一個(gè)鎖重入計(jì)數(shù)器,記錄鎖重入的次數(shù)

解鎖:將LockRecord中的lockrecord(此時(shí)是markword)和lock對象(Object)中的markword(lockrecord指針)。如果解鎖失敗,那么輕量級鎖就會(huì)膨脹為重量級鎖。

重量級鎖的加鎖、解鎖、阻塞、喚醒:只有重量級鎖有阻塞

Java多線程鎖機(jī)制相關(guān)原理實(shí)例解析

如上圖:當(dāng)發(fā)生競爭時(shí),新的線程會(huì)將object修改為monitor指針,指向重量級鎖的monitor(管程),然后進(jìn)入等待隊(duì)列,當(dāng)當(dāng)前線程結(jié)束同步代碼塊,就會(huì)將owner置為0,此時(shí)表示沒有線程擁有此鎖,然后喚醒其他線程,其他線程就會(huì)競爭這個(gè)鎖。

偏向鎖的加鎖和解鎖:新的線程只需要判斷l(xiāng)ock對象的markword對象中的線程id是否是自己的id,如果是,那么就直接使用這個(gè)鎖。不用作cas交換,只有第一次獲得此鎖時(shí)需要用cas交換

調(diào)用hashcode可以撤銷偏向鎖,或者對同一個(gè)對象發(fā)生鎖同步時(shí)也會(huì)撤銷偏向鎖

偏向鎖重定向:對于一個(gè)類的多個(gè)實(shí)現(xiàn)類鎖對象,當(dāng)超過20次重定向時(shí),后面該鎖的實(shí)例對象就變成了另外一個(gè)線程的偏向鎖

當(dāng)發(fā)生40次重定向時(shí),該類的所有l(wèi)ock對象就變成了輕量級鎖。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久6视频| 国产精品久久久久永久免费观看 | 午夜精品一区二区三区在线 | 一区二区国产在线观看 | 亚洲成人三级 | 黄色播放| 久久久久国产 | 免费99视频 | 视频一区 国产精品 | 在线观看视频福利 | 免费久久99精品国产婷婷六月 | 欧美日韩大片 | 亚洲精品一区二区在线观看 | 日韩成人在线观看 | 超碰免费在线 | 中文天堂网 | 久久人爽| 国产欧美精品一区二区色综合 | 人人爽人人爽人人片av | 99精品久久 | 午夜久久久 | 欧美色999| 久久99深爱久久99精品 | www.色.com| 日韩精品在线免费观看视频 | 国产精品看片 | 91传媒在线播放 | 国产一区二区三区欧美 | 午夜爽爽爽男女免费观看影院 | 日韩精品视频中文字幕 | 日本午夜精品 | 久草青青| 国产视频一区在线 | 日韩精品免费在线观看 | 欧美日韩精品久久久免费观看 | 精品国产乱码久久久久久蜜退臀 | 黄网站在线播放 | 女人牲交视频一级毛片 | 日韩网站免费观看 | 色婷婷综合久久久中字幕精品久久 | 一级大片 |