class demo extends Thread { public void run(){ for(int i=0;i<10;i++) System.out.println(i); } } class test{ public static void main(string arg[]){ demo dt = new demo(); dt.run(); System.out.println("main thread output"); } } select any 1
A) Code will give compilation error on line 10, since run can not be called directly. B) Code will compile without error, but will not show any output. C) Code will compile without errors, but will show output unsing current Thread only D) Code will give compilation error on line 9. ==== Answer is C Why???, any description pls. I selected option A, if C is correct then why we call start() method, why dont directly run() method. is this call like any other method call, and it wont register it in Thread-sceduler? -FAF
====<BR>FAF
Devavrat Bagayat
Greenhorn
Joined: Jun 24, 2001
Posts: 25
posted
0
hi, ur guess was right.it would've worked if there is call to start method of thread. but unfortunely there is no any such method. hence, when u call run() meth w.r.t.the object, it treats that method as a ordinary method n excecutes it. that's all. lalit
Faisal Farooqui
Greenhorn
Joined: Jun 25, 2001
Posts: 13
posted
0
Thanks
Marcela Blei
Ranch Hand
Joined: Jun 28, 2000
Posts: 477
posted
0
If you call run, that is an ordinary method call and it will execute it like it. If you call the start method (you inherit it from the Thread class), your run method will behave like a Thread.