Collections and Generics

© examsiri.com
Question : 42 of 53
 
Marks: +1, -0
Given:
1. public class TwoThreads {
2
3.   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.   }
9
10.   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.interrupt
18.    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. }

Assume that sleep(n) executes in exactly m milliseconds, and all othercode executes in an insignificant amount of time. What is the output if the main() method is run?
Go to Question: