public class PrintMain {public static String obj1="obj1";public static String obj2="obj2";public static void main(String[] args) {new Thread(new Runnable() {public void run() {System.out.println(new Date().toString + "LockA開始執行");while(true) {synchronized(obj1) {System.out.println(new Date().toString + "LockA鎖住obj1");Thread.sleep(3000);synchronized(obj2) {System.out.println(new Date().toString + "LockA鎖住obj2");Thread.sleep(60*1000);}}}} },"LockA").start();new Thread(new Runnable() {public void run() {System.out.println(new Date().toString + "LockB開始執行");while(true) {synchronized(obj2) {System.out.println(new Date().toString + "LockB鎖住obj2");Thread.sleep(3000);synchronized(obj1) {System.out.println(new Date().toString + "LockB鎖住obj1");Thread.sleep(60*1000);}}}} },"LockB").start();} }
?