黑马程序员技术交流社区

标题: 分享一个最近学的死锁示例 [打印本页]

作者: cuixiaoyou    时间: 2015-3-7 20:34
标题: 分享一个最近学的死锁示例
class Test{
     private boolean flag;
     Test(boolean flag){
         this.flag = flag;
     }
    public void run(){
          if(flag){
              while(true){
                 synchronized(MyLock.locka){
                       System.out.println(" if locka ");
                       synchronized(MyLock.lockb){
                          System.out.println(" if lockb");
                        }
                }
            }
         }
         else{
               while(true){
                 synchronized(MyLock.lockb){
                       System.out.println(" else lockb ");
                       synchronized(MyLock.locka){
                          System.out.println(" else locka");
                        }
                }
            }

         }
    }
}

class MyLock{
      static Object locka = new Object();
      static Object lockb = new Object();
}

public class TestDeadLock{
    public static void main(String args[]){
          Thread t1 = new Thread(new Test());
          Thread t2 = new Thread(new Test());
          t1.start();
          t2.start();
    }
}
作者: cuixiaoyou    时间: 2015-3-7 23:38
嗯,谢谢!刚上的论坛,没有经验:)
作者: z47057554    时间: 2015-3-8 03:31
你Test()里面不传参数怎么会死锁呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2