Home / Java Programming / Threads :: Discussion

Discussion :: Threads

  1. What will be the output of the program?

       class MyThread extends Thread 
     {   
         public static void main(String [] args)   
         {      
            MyThread t = new MyThread(); /* Line 5 */       
            t.run();  /* Line 6 */     
         }  
          public void run()   
         {         
             for(int i=1; i 3; ++i)             
             {        
                 System.out.print(i + "..");              
             }      
         } 
     } 

     

     

     

  2. A.

    This code will not compile due to line 5.

    B.

    This code will not compile due to line 6.

    C.

    1..2..

    D.

    1..2..3..

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    Line 6 calls the run() method, so the run() method executes as a normal method should and it prints "1..2.."

    A is incorrect because line 5 is the proper way to create an object.

    B is incorrect because it is legal to call the run() method, even though this will not start a true thread of execution. The code after line 6 will not execute until the run() method is complete.

    D is incorrect because the for loop only does two iterations.


Be The First To Comment