A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fever_ai_my 中级黑马   /  2015-7-15 15:34  /  274 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么才能写出一个死锁程序

2 个回复

倒序浏览
回复 使用道具 举报
  1. class Lock
  2. {        public static Object obj1 = new Object();
  3.         public static Object obj2 = new Object();
  4. }
  5. class DeadLockTest implements Runnable
  6. {        private boolean flag;
  7.         DeadLockTest(boolean flag)
  8.         {        this.flag = flag;
  9.         }
  10.         public void run()
  11.         {        if(flag)
  12.                 {        synchronized(Lock.obj1)
  13.                         {        System.out.println("if---obj1");
  14.                                 synchronized(Lock.obj2)
  15.                                 {        System.out.println("if---obj2");
  16.                                 }
  17.                         }
  18.                 }
  19.                 else
  20.                 {        synchronized(Lock.obj2)
  21.                         {        System.out.println("else---obj2");
  22.                                 synchronized(Lock.obj1)
  23.                                 {        System.out.println("if---obj1");
  24.                                 }
  25.                         }
  26.                 }
  27.         }
  28. }
  29. public class Main
  30. {        public static void main(String[] args)
  31.         {        Thread t1 = new Thread(new DeadLockTest(true));
  32.                 Thread t2 = new Thread(new DeadLockTest(false));
  33.                 t1.start();
  34.                 t2.start();
  35.         }
  36. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马