This week's book giveaway is in the Other Open Source APIs forum. We're giving away four copies of Storm Applied and have Sean Allen, Peter Pathirana & Matthew Jankowski on-line! See this thread for details.
In extending the Thread class, you'd inherit Thread behavior and (I assume) override the run() method. This has the advantage of combining the runnable code (Thread implements Runnable) with the methods that put it in motion in the VM. If you want to extend Thread's behavior in some way, this approach is the right one. Implementing Runnable lets you decouple Thread's registration/scheduling/monitoring apparatus from the execution stack; not only that, you can inherit from something else. Implementing Runnable is more flexible than extending Thread, so I'd consider it the default of the two choices. ------------------ Michael Ernest, co-author of: