死锁面试题

来源:互联网 发布:gamecenter数据不同步 编辑:程序博客网 时间:2024/05/29 11:31
/死锁 面试题
class Test implements Runnable
{
    private boolean flag;
    Test(boolean flag)
    {
    this.flag=flag;
    }
public void run() 
{
       if(flag)
       {
    synchronized(MyLock.locka)
      {
    System.out.println("if  locka");
    synchronized(MyLock.lockb)
    {
    System.out.println("if  lockb");
    }
      }
       }
       else
       {
      synchronized(MyLock.lockb)
      {
      System.out.println("else  lockb");
      synchronized(MyLock.locka)
      {
      System.out.println("else  locka");
      }
      }
       }
}

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

}


public class DieLock 
{
   public static void main(String []args)
   {
  Test a =new Test(true);
  Test b =new Test(false);
  Thread t1 = new Thread(a);
  Thread t2 =new Thread(b);
  t1.start();
  t2.start();
  
  
   }
}
0 0
原创粉丝点击