JavaGian java tutorial and java interview question and answer

JavaGian , Free Online Tutorials, JavaGian provides tutorials and interview questions of all technology like java tutorial, android, java frameworks, javascript, ajax, core java, sql, python, php, c language etc. for beginners and professionals.

Can we call run() method directly to start a new thread

No, you can not directly call run method to start a thread. You need to call start method to create a new thread.
If you call run method directly , it won’t create a new thread and it will be in same stack as main.
Lets understand with the help of example:

When you run above program , you will get below output:

As you can see when we are directly calling run method, it is not creating new threads.
If you use start instead of run in above example:
When you run above program , you will get below output:
You can not directly call run method to create a thread, you need to call start method to create a new thread.

.