데모 데모

1183 단어 demo
package com.jd.schdule;

/**
 *   
 * @author yfzhangbin
 */
public class DeadlockTest {
	public static Object lock1 = new Object();
	public static Object lock2 = new Object();
	
	public static void deadlock() {
		new Thread(new Runnable() {	//   T1
			public void run() {
				synchronized(lock1) {
					System.out.println(1);
					try {
						Thread.sleep(1000);
					} catch(Exception e) {
						e.printStackTrace();
					}
					synchronized(lock2) {	//   T1   lock1,     T2   lock2
						System.out.println(2);
					}
				}
			}
		}).start();
	  
		new Thread(new Runnable() {	//   T2
			public void run() {
				synchronized (lock2) {
					System.out.println(3);
					synchronized (lock1) {	//   T2   lock2,    T1   lock1
						System.out.println(4);
					}	
				}	
			}
		}).start();
	}

	public static void main(String[] a){
		deadlock();
	}
}

출력:
1
3
      ,       。

 

좋은 웹페이지 즐겨찾기