"rodrigomaia":
java.lang
Class Thread
java.lang.Object
extended by java.lang.Thread
All Implemented Interfaces:
Runnable
logo, não que exista diferença, é apenas um passo a frente.
[]'s
Digamos que não é bem assim.....
quando vc extende a classe Thread na hora de criar a sua thread vc simplismente faz..
SuaClasseQueExtendThread t = new SuaClasseQueExtendThread();
t.start();
mas quando vc implementa a interface Runnable, vc tem q criar um objeto Thread e passar para o seu construtor a classe que implementa a interface, e chamar o metodo start do seu objeto thread, ou seja..
Thread t = new Thread( new SuaClasseQueImplementaRunnable() );
t.start();
outra diferença é que se vc criar uma classe que extend thread vc não é obrigado a reescrever o método run, mas se implementar a interface Runnable, vc é obrigado a a implementar esse método.
Também agora na visão da arquitetura do sistema, eu ficaria sempre usando uma classe que implemente Runnable, pois lembrando que em java uma classe pode extender somente UMA classe, e se você usar a sua classe pra extender Thread, você fica sem a opção de herança na sua classe. OK :?: