Home » What if we call run() method directly

What if we call run() method directly

by Online Tutorials Library

What if we call Java run() method directly instead start() method?

  • Each thread starts in a separate call stack.
  • Invoking the run() method from the main thread, the run() method goes onto the current call stack rather than at the beginning of a new call stack.

FileName: TestCallRun1.java

Test it Now

Output:

running...  

MainThreadStack

Problem if you direct call run() method

FileName: TestCallRun2.java

Test it Now

Output:

1  2  3  4  1  2  3  4  

As we can see in the above program that there is no context-switching because here t1 and t2 will be treated as normal object not thread object.


Next TopicJava join() Method

You may also like