一个死锁程序

来源:互联网 发布:走进北上广深 知乎 编辑:程序博客网 时间:2024/06/04 23:36
class DeadLock implements Runnable
{
    private boolean flag;
    DeadLock(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();
}
class DeadLockTest
{
    public static void main(String[] args){
    new Thread(new DeadLock(true)).start();
    new Thread(new DeadLock(false)).start();
    }
}


原创粉丝点击