死锁 === ```java /** * 死锁的原因就是同步的嵌套 */ public class DeadLockTest { public static void main(String[] args) { Thread t1 = new Thread(new PrintRunnable(true)); Thread t2 = new Thread(new PrintRunnable(false)); t1.start(); t2.start(); } } class MyLock { static Object locka = new Object(); static Object lockb = new Object(); } class PrintRunnable implements Runnable { private boolean flag; PrintRunnable(boolean flag) { this.flag = flag; } public void run() { if (flag) { while (true) { synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + "...if locka "); synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + "..if lockb"); } } } } else { while (true) { synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + "..else lockb"); synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + ".....else locka"); } } } } } } ``` --- - 邮箱 :charon.chui@gmail.com - Good Luck!