While implementing the concept of multithreading there are two ways to implement.
1. Extending the Thread Class and
2. Implementing the Runnable Interface
By Extending the Thread class makes you unable to extend other classes since it doesn't support Multiple Inherictance.
By implementing Runnable interface we can acheive better OOPs design and can avail more than one interface for a sigle class.
Therefore implementing Runnable interface is better than extending Thread class. For further more information over Multithreading concepts visit http://www.roseindia.net/java/thread/CreationOfMultithreads.shtml