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

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

Java多線程之synchronized關鍵字的使用

瀏覽:10日期:2022-08-13 13:12:11
一、使用在非靜態方法上

public synchronized void syzDemo(){ System.out.println(System.currentTimeMillis()); System.out.println('進入synchronized鎖:syzDemo'); try {Thread.sleep(1000); } catch (InterruptedException e) {e.printStackTrace(); }}二、使用在靜態方法上

public synchronized static void syzDemo1(){ System.out.println(System.currentTimeMillis()); System.out.println('進入synchronized鎖:syzDemo1'); try {Thread.sleep(1000); } catch (InterruptedException e) {e.printStackTrace(); }}三、使用在代碼塊上

public synchronized void syzDemo2(){ synchronized (this){System.out.println(System.currentTimeMillis());System.out.println('進入synchronized鎖:syzDemo2');try { Thread.sleep(1000);} catch (InterruptedException e) { e.printStackTrace();} }}public synchronized void syzDemo3(){ synchronized (ExcelUtil.class){ System.out.println(System.currentTimeMillis()); System.out.println('進入synchronized鎖:syzDemo3'); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } }}四、三種方式的區別

public static void main(String[] args) {SyzDemo syzDemo = new SyzDemo();SyzDemo syzDemo1 = new SyzDemo();Thread thread = new Thread(()->{ syzDemo.syzDemo();});thread.start();Thread thread1 = new Thread(()->{ syzDemo1.syzDemo();});thread1.start(); }4.1 不會互斥

public static void main(String[] args) {SyzDemo syzDemo = new SyzDemo();SyzDemo syzDemo1 = new SyzDemo();Thread thread = new Thread(()->{ syzDemo.syzDemo();});thread.start();Thread thread1 = new Thread(()->{ syzDemo.syzDemo();});thread1.start(); }4.2 互斥

public static void main(String[] args) {SyzDemo syzDemo = new SyzDemo();SyzDemo syzDemo1 = new SyzDemo();Thread thread = new Thread(()->{ syzDemo.syzDemo1();});thread.start();Thread thread1 = new Thread(()->{ syzDemo1.syzDemo1();});thread1.start(); }

解析:

在圖1中thread1和thread分別調用syzDemo和syzDemo1對象中的syzDemo方法,因為兩個線程調用是不同的對象的兩個方法,所以不會互斥

在圖2中thread1和thread都在調用syzDemo對象中的syzDemo方法,因為syzDemo方法加了synchronized

在圖3中thread1和thread分別調用syzDemo和syzDemo1對象中的syzDemo1方法,但是因為syzDemo1方法屬于靜態方法,在類加載時就會加載到方法區,所以本質上兩個線程都在調用同一個方法,于是產生了互斥

syzDemo2中與syzDemo相同:鎖定的是當前實例的這一段代碼,只有多個線程中調用的是同一個實例且執行到這一段代碼時才會互斥,syzDemo3于syzDemo1相同:鎖定的是當前類的這一段代碼,只要多個線程共同執行這一段代碼就會產生互斥

到此這篇關于Java多線程之synchronized關鍵字的使用的文章就介紹到這了,更多相關Java synchronized關鍵字內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | 贵州自考_贵州自学考试网| 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 防火阀、排烟防火阀、电动防火阀产品生产销售商-德州凯亿空调设备有限公司 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 光栅尺_Magnescale探规_磁栅尺_笔式位移传感器_苏州德美达 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 车载加油机品牌_ 柴油加油机厂家 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 温室大棚建设|水肥一体化|物联网系统 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 出国劳务公司_正规派遣公司[严海] |