//死锁:前提定义两个线程
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");
	}
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号