Matar uma thread

4 respostas
D

Eu preciso matar uma thread que está executando um procedimento a partir de uma dll. Já usei destroy , stop e nada. O procedimento continua funcionando. Como é que eu mato essa thread junto com o procedimento?

4 Respostas

M

da um wait() nela… atribui null a ela… :lol:

M

.stop(); nela!!! dsuahduahdas soh depois eu li :slight_smile:

V

Por razões de segurança, a Sun não recomenda mais as formas tradicionais de interrupção de Threads.

Os antigos métodos destroy, suspend, stop, resume e runFinalizersOnExit são agora todos deprecated. Isso significa que você NÃO DEVE USÁ-LOS EM HIPÓTESE ALGUMA.

Se você quiser esse efeito, deverá resolvê-lo através de chamadas explícitas à Thread implementada e esta deverá saber como se interromper (um break num laço dentro do método run, por exemplo).

Para saber mais, leia isto:
Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated?

H

Se vc estivesse em ambiente Java puro, a solução seria chamar o método interrupt() de fora da thread e dentro da thread (método run() ) testar if(isInterrupted()).

Mas como a sua thread chama uma dll, não vejo como interromper.

Veja mais em:

http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html

Criado 9 de dezembro de 2004
Ultima resposta 10 de dez. de 2004
Respostas 4
Participantes 5