package dlk;
/**
* 死锁
* @author 戴良康
* @datetime 2016-1-10
*/
public class MyDeadLock implements Runnable
{
public int flag = 1;
private static Object o1 = new Object();
private static Object o2 = new Object();
@Override
public void run()
{
System.out.println("flag="+flag);
if(flag == 1)
{
synchronized (o1)
{
try
{
Thread.sleep(500);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (o2)
{
System.out.println("1");
}
}
}else if(flag == 2)
{
synchronized (o2)
{
try
{
Thread.sleep(500);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (o1)
{
System.out.println("2");
}
}
}
}
public static void main(String[] args)
{
MyDeadLock d1 = new MyDeadLock();
MyDeadLock d2 = new MyDeadLock();
d1.flag =1;
d2.flag =2;
new Thread(d1).start();
new Thread(d2).start();
}
}
java写一个死锁
最新推荐文章于 2022-10-24 11:46:02 发布