What is difference between start and run in Java Thread?

(Last Updated On: March 21, 2017)

Answer includes the difference between start and run
Describing the interview question, difference between run and start method in Java multithreading with example. But, also note that this question can also be asked as  below

“if start() method eventually call run() method in a thread then why don’t we call run() method directly?”


Thread.start() method creates a new thread and call the code block written inside run() method  on newly created thread while calling run() method does not create a new thread but executes the code in run() method on current  thread itself like a normal method call.

Here is sample and output that clearly state difference.


Thread – start() method:



Thread – run() method: