------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
这是一个死锁小实例
public static void main(String[] args)
{
Thread th1 = new Thread(new SiLock(true));
Thread th2 = new Thread(new SiLock(false));
th1.start();
th2.start();
}
}
//自的定义锁2
class MyLock1
{
static Object obA = new Object() ;
static Object obB = new Object();
}
class SiLock implements Runnable
{
private boolean flse ;
public SiLock(boolean flse)
{
this.flse = flse ;
}
public void run() {
if(flse)
{
synchronized (MyLock1.obA) //MyLock1.obA是类名.对象
{
System.out.println(Thread.currentThread().getName()+"...."+"if-----obA");
synchronized (MyLock1.obB)
{
System.out.println(Thread.currentThread().getName()+"...."+"if-----obB");
}
}
}
else
{
synchronized (MyLock1.obB)
{
System.out.println(Thread.currentThread().getName()+"...."+"else-----obB");
synchronized (MyLock1.obA)
{
System.out.println(Thread.currentThread().getName()+"...."+"else-----obA");
}
}
}
}
}