File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Threads and Synchronization and the fly likes Diffrence  between calling the run() method. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Groovy Fundamentals video training course this week in the Groovy forum!
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Diffrence  between calling the run() method." Watch "Diffrence  between calling the run() method." New topic

Diffrence between calling the run() method.

Praveen Kumar
Ranch Hand

Joined: Nov 06, 2006
Posts: 133

If you extend any thread class , we should override the run method.

We can call that run method by using obj.start() or

Just i want to know difference between them .

Is that start() method will create new Thread () ?
Joanne Neal

Joined: Aug 05, 2005
Posts: 3742
Yes. If you call the run method directly then it will be executed by the current thread. By calling start, a new thread is created and run is executed by that thread.

Peter Chase
Ranch Hand

Joined: Oct 30, 2001
Posts: 1970
Actually, calling start does not create a new Thread, but it does create a new thread.

Remember that Java is case-sensitive.

Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.
Rob Spoor

Joined: Oct 27, 2005
Posts: 19993

As said before, the difference is that start() will execute the run() method on a new thread, and run() will execute on the current thread.

This is a real stinker in examination; run() is called but the question lets you think that start() is called instead.

How To Ask Questions How To Answer Questions
subject: Diffrence between calling the run() method.