把后面的同步放到前面的同步里synchronized (o1) { try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (o2) { System.out.println("1"); }}