电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java多線程鎖機制相關原理實例解析

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

上下文:程序運行需要的環境(外部變量)

上下文切換:將之前的程序需要的外部變量復制保存,然后切換到新的程序運行環境

系統調用:(用戶態陷入操作系統,通過操作系統執行內核態指令,執行完回到用戶態)用戶態——內核態——用戶態:兩次上下文切換

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

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

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

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

偏向鎖:可重入和經常使用某一個線程。

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

重量級鎖:線程時間的競爭。

臨界區:多個線程共享臨界區,而且存在對臨界區的讀寫。

Java多線程鎖機制相關原理實例解析

無所狀態: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多線程鎖機制相關原理實例解析

鎖記錄有兩個指針:一個指向自身,一個指向lock對象,當lock對象位state位01時,表示位輕量級鎖,此時執行輕量級鎖的加鎖:交換lock record和markword

鎖重入:

Java多線程鎖機制相關原理實例解析

同樣創建一個LockRecord但此時cas失敗,因為此時lock對象的markword為當前鎖記錄的指針,置lockrecord指針為null,表示鎖重入,并且添加一個鎖重入計數器,記錄鎖重入的次數

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

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

Java多線程鎖機制相關原理實例解析

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

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

調用hashcode可以撤銷偏向鎖,或者對同一個對象發生鎖同步時也會撤銷偏向鎖

偏向鎖重定向:對于一個類的多個實現類鎖對象,當超過20次重定向時,后面該鎖的實例對象就變成了另外一個線程的偏向鎖

當發生40次重定向時,該類的所有lock對象就變成了輕量級鎖。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 物和码官网,物和码,免费一物一码数字化营销SaaS平台 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 渣土车电机,太阳能跟踪器电机,蜗轮蜗杆减速电机厂家-淄博传强电机 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 范秘书_懂你的范文小秘书| 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 好杂志网-首页| 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 桐城新闻网—桐城市融媒体中心主办 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 汽液过滤网厂家_安平县银锐丝网有限公司 | ASA膜,ASA共挤料,篷布色母料-青岛未来化学有限公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 传动滚筒_厂家-淄博海恒机械制造厂 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备| 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 |