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

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

Java如何在臨界區中避免競態條件

瀏覽:4日期:2022-08-22 15:59:08

當兩個線程競爭同一資源時,如果對資源的訪問順序敏感,就稱存在競態條件。導致競態條件發生的代碼區稱作臨界區。在臨界區中使用適當的同步就可以避免競態條件。

界區實現方法有兩種,一種是用synchronized,一種是用Lock顯式鎖實現。synchronized 關鍵字,代表這個方法加鎖,相當于不管哪一個線程(例如線程A),運行到這個方法時,都要檢查有沒有其它線程B(或者C、 D等)正在用這個方法(或者該類的其他同步方法),有的話要等正在使用synchronized方法的線程B(或者C 、D)運行完這個方法后再運行此線程A,沒有的話,鎖定調用者,然后直接運行。它包括兩種用法:synchronized 方法和 synchronized 塊。

Java語言的關鍵字,可用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊的時候,同一時刻最多只有一個線程執行這段代碼。當兩個并發線程訪問同一個對象object中的這個加鎖同步代碼塊時,一個時間內只能有一個線程得到執行。另一個線程必須等待當前線程執行完這個代碼塊以后才能執行該代碼塊。然而,當一個線程訪問object的一個加鎖代碼塊時,另一個線程仍可以訪問該object中的非加鎖代碼塊。

有臨界區是為了讓更多的其它線程能安全夠訪問資源。

class Counter { protected long count = 0; public void add(long value) { this.count = this.count + value; } }

觀察線程A和B交錯執行會發生什么,兩個線程分別加了2和3到count變量上,兩個線程執行結束后count變量的值應該等于5。然而由于兩個線程是交叉執行的,兩個線程從內存中讀出的初始值都是0。然后各自加了2和3,并分別寫回內存。最終的值并不是期望的5,而是最后寫回內存的那個線程的值,上面例子中最后寫回內存的是線程A,但實際中也可能是線程B。如果沒有采用合適的同步機制,線程間的交叉執行情況就無法預料。

add()方法就是一個臨界區,它會產生競態條件。

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

標簽: Java
相關文章:
主站蜘蛛池模板: 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 菏泽商标注册_菏泽版权登记_商标申请代理_菏泽商标注册去哪里 | 宝鸡市人民医院| 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 氧化铁红厂家-淄博宗昂化工 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 选宝石船-陆地水上开采「精选」色选机械设备-青州冠诚重工机械有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 学生作文网_中小学生作文大全与写作指导| 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 兰州牛肉面加盟,兰州牛肉拉面加盟-京穆兰牛肉面 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 环球周刊网| 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 |