In java multithreading, it is a important point to understand that why we call start method instead of calling run method directly.
It starts thread to begin execution, JVM calls run method of this thread.
public void start()
IllegalThreadStateException – if the thread was already started.
We call start method in thread because of the following points:
- The start() method register the thread with Thread Scheduler.
- It performs all other mandatory activities for a thread.
- It invokes the run method.
- Most importantly, it starts a new thread. If we not use the start method and call the run method directly then no new thread will be created and run method will be treated as a normal method.