博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
死锁-嵌套容易发生死锁
阅读量:4230 次
发布时间:2019-05-26

本文共 1603 字,大约阅读时间需要 5 分钟。

直接看例子:

public class DealThread implements Runnable{    public String username;    public Object lock1=new Object();    public Object lock2=new Object();    public void setFlag(String username){        this.username=username;    }    @Override    public void run() {        if(username.equals("a")){            synchronized (lock1){                try {                    System.out.println("username = "+username);                    Thread.sleep(3000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                synchronized (lock2){                    System.out.println("按lock1->lock2代码顺序执行了");                }            }        }        if(username.equals("b")){            synchronized (lock2){                try {                    System.out.println("username = "+username);                    Thread.sleep(3000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                synchronized (lock1){                    System.out.println("按 lock2->lock1代码顺序执行了");                }            }        }    }}
public class Run {    public static void main(String[] args){        try {            DealThread t1=new DealThread();            t1.setFlag("a");            Thread thread1=new Thread(t1);            thread1.start();            Thread.sleep(100);            t1.setFlag("b");            Thread thread2=new Thread(t1);            thread2.start();        } catch (InterruptedException e) {            e.printStackTrace();        }    }}
你在的等我,我在等你,就永远等了= =(要行动起来啊)

转载地址:http://hljqi.baihongyu.com/

你可能感兴趣的文章
Web前端学习笔记——JavaScript之面向对象游戏案例:贪吃蛇
查看>>
不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例
查看>>
一种实用的联网汽车无线攻击方法及车载安全协议
查看>>
光靠欺骗检测是不够的:对抗多目标跟踪的攻击
查看>>
基于微区块链的V2X地理动态入侵检测
查看>>
面向V2C场景的ADAS数字孪生模型构建方法
查看>>
Comma2k19数据集使用
查看>>
面向自动驾驶车辆验证的抽象仿真场景生成
查看>>
一种应用于GPS反欺骗的基于MLE的RAIM改进方法
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>
CUDA 学习(五)、线程块
查看>>
CUDA 学习(八)、线程块调度
查看>>
CUDA 学习(九)、CUDA 内存
查看>>
CUDA 学习(十一)、共享内存
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十四章 生化尖兵
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十七章 游戏感的原理
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十八章 我想做的游戏
查看>>
游戏设计的艺术:一本透镜的书——第十章 某些元素是游戏机制
查看>>