It's not a secret anymore!
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 OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 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: 20136

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
I agree. Here's the link:
subject: Diffrence between calling the run() method.
It's not a secret anymore!