死锁产生的原因:
- 两个或两个以上的线程在争夺资源的过程中发生的一种相互等待的过程
代码1:
- 创建两把锁对象
public class MyLock{
public static final Object objA = new Object();
public static final Object objB = new Object();
}
代码2:
- 当flag为true时,执行传入objA对象的同步代码块锁住objA,并让线程睡眠1000毫秒,保证线程死锁。
当flag为false时,执行传入objB对象的同步代码块锁住objB。
public class DeadLock extends Thread{
boolean flag;
public DeadLock<