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.
A thread should be extended only when its behaviour has to be extended/modified(which is very rare). The general requirement is to execute a task/group-of-statements on a seperate thread. Implementing Runnable is the right solution for this requirment.