package thread;
/**
* 死锁小案例
* @author lang
*
*/
public class ThreadDemo09 {
public static void main(String[] args) {
LockThread t1 = new LockThread(true);
LockThread t2 = new LockThread(false);
//启动线程
t1.start();
t2.start();
}
}
class LockThread extends Thread{
//设置标记
private boolean falg;
public LockThread() {
super();
}
public LockThread(boolean falg) {
super();
this.falg = falg;
}
@Override
public void run() {
if(falg){
synchronized (Lock.LOCKA) {
System.out.println("if语句中LOCKA锁");
synchronized (Lock.LOCKB) {
System.out.println("if语句中LOCKB锁");
}
}
}else {
synchronized(Lock.LOCKB){
System.out.println("else语句中LOCKB锁");
synchronized (Lock.LOCKA) {
System.out.println("else语句中LOCKA锁");
}
}
}
}
}
class Lock{
public static final Object LOCKA =new Object();
public static final Object LOCKB =new Object();
}