//死锁:前提定义两个线程

package charpter17;

//死锁:前提定义两个线程
public class TestDeadLock {
public static Object obj1 = new Object();
public static Object obj2 = new Object();

// 主方法内创建对象
public static void main(String[] args) {
Thread t1 = new Thread(() -> {
synchronized (obj1) {
System.out.println(Thread.currentThread().getName() + "obj1");
synchronized (obj2) {
System.out.println(Thread.currentThread().getName() + "obj2");
}
}
});
Thread t2 = new Thread(() -> {
synchronized (obj2) {
System.out.println(Thread.currentThread().getName() + "obj2");
synchronized (obj1) {
System.out.println(Thread.currentThread().getName() + "obj1");
}
}
});
t1.start();
t2.start();
t1.setName("t1");
t2.setName("t2");
}

}

猜你喜欢

转载自www.cnblogs.com/Koma-vv/p/9642598.html