This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma 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().