This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
It will create a new thread of execution when you call start(). Exactly what that means is entirely up to the implementation, but there's no reason to think it will behave any differently for a subclass of Thread than for Thread itself.
However, you should rarely, if ever, have a good reason to subclass Thread. Why are you doing it here?
And even if you do subclass Thread, there should rarely, if ever, be a good reason for overriding its run() method.
Joined: Aug 29, 2006
Thanks a lot!! for the explanation. This was just an experimental to understand JVM behavior. I completely agree with you, it would be a rarest use-case where sub thread will not override run().