Thread.start() method(native method) of Thread class actually does the job of running the Thread.run() method in a thread.If we directly call Thread.run() method it will executed in the same thread,so does not solve the purpose of creating new thread.