1. public class TwoThreads {23. private static Object resource = new Object();4.5. private static void delay(long n) {6. try { Thread.sleep(n); }7. catch (Exception e) { System.out.print(”Error “); }8. }910. public static void main(String[] args) {11. System.out.print(”StartMain “);12. new Thread1().start();13. delay(1000);14. Thread t2 = new Thread2();15. t2.start();16. delay(1000);17. t2.interrupt18. delay(1000);19. System.out.print(”EndMain “);20. } 21. 22. static class Thread 1 extends Thread {23. public void run() {24. synchronized (resource) {25. System.out.print(”Startl “);26. delay(6000);27. System.out.print(”End1 “);28. }29. }30. }31.32. static class Thread2 extends Thread {33. public void run() {34. synchronized (resource) {35. System.out.print(”Start2 “);36. delay(2000);37. System.out.print(”End2 “);38. }39. }40. }41. }