File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Threads and Synchronization and the fly likes Calling Directly run() method Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Calling Directly run() method" Watch "Calling Directly run() method" New topic
Author

Calling Directly run() method

Faisal Farooqui
Greenhorn

Joined: Jun 25, 2001
Posts: 13
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
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
Thanks
Marcela Blei
Ranch Hand

Joined: Jun 28, 2000
Posts: 477
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.
 
 
subject: Calling Directly run() method
 
Similar Threads
Error while executing the program
overriding a static method with non-static method?
java
Mock exam question