死锁问题的代码(JAVA)

    技术2022-05-12  69

    // 死锁 public   class  TestDeadLock  implements  Runnable  {    public int flag = 1;    static Object o1 = new Object(), o2 = new Object();    public void run() {        System.out.println("flag=" + flag);        if(flag == 1{            synchronized(o1) {                try {                    Thread.sleep(500);                } catch (Exception e) {                    e.printStackTrace();                }                synchronized(o2) {                    System.out.println("1");                }            }        }        if(flag == 0{            synchronized(o2) {                try {                    Thread.sleep(500);                } catch (Exception e) {                    e.printStackTrace();                }                synchronized(o1) {                    System.out.println("0");                }            }        }    }            public static void main(String[] args) {        TestDeadLock td1 = new TestDeadLock();        TestDeadLock td2 = new TestDeadLock();        td1.flag = 1;        td2.flag = 0;        Thread t1 = new Thread(td1);        Thread t2 = new Thread(td2);        t1.start();        t2.start();            }}  

    最新回复(0)