109
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
Output:
running...
Problem if you direct call run() method
FileName: TestCallRun2.java
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