This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori 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: