Actually Thread.start()
creates a new thread and have its own execution scenario.
Thread.start()
calls the run()
method asynchronously,which changes the state of new Thread to Runnable.
But Thread.run()
does not create any new thread. Instead it execute the run method in the current running thread synchronously.
If you are using Thread.run()
then you are not using the features of multi threading at all.