Como paro um Thred já startado?

Galera,

To precisando parar um thread em minha aplicacao ja startada.

Obrigado.

Como assim?
Acho que no seu caso basta usar o método stop().

Startei normal a thread, funciona normal, porem quero parar ela, e nao funciona o t.stop();

http://java.sun.com/j2se/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html

[quote=GiancarloBraga]Como assim?
Acho que no seu caso basta usar o método stop().[/quote]

Péssima idéia. O método stop() está deprecated e pode fazer sua aplicação travar de maneira realmente feia.

Vamos reforçar primeiro um conceito. As threads terminam quando saem do método run().
Então, basta programar um código que garanta que isso irá acontecer.

Se a sua thread estiver travada, esperando por IO por exemplo, então não há muito o que fazer. Por isso, sempre dê preferência para métodos interruptíveis ou que usem algum tipo de timeout.

Sempre que a thread está num wait ou sleep, é possível interromper esse wait ou sleep através do método interrupt. Quando o método interrupt é chamado, tanto o wait quanto o sleep lançam uma interrupted exception. Nesse caso, capture a excessão e faça com que seu código saia do corpo da thread.

Dê uma lida nesses tópicos, que também podem te ajudar:
http://www.guj.com.br/posts/list/52481.java#276136
http://www.guj.com.br/posts/list/57781.java

Obrigado por avisar sobre o método stop().
Eu fui na dedução usando o Eclipse para ver se tinha algo que parava Thread e acabei achando esse. Não sabia que era má idéia. Agora já sei, graças a vocês! Valeu mesmo.

Consultarei mais sobre o assunto.

Abraço.