Trabalhando com 3 threads

1 resposta
Rodrigo_Vieira_Pinto

Olá pessoal
Estou trabalhando com 3 threads na máquina. Um cuida da interface gráfica com o usuário (botões, labels, etc) e os outros 2 trabalham juntos mas sem sincronia. Quando clico no botão cancelar, os 2 threads devem morrer.
Pergunto: Como faço para fazer os 2 morrerem. Já tentei os seguintes códigos:

//este é o primeiro código

public void destruirThread(){

if (this.TEnvia.isAlive()){

this.TEnvia.interrupt();

System.gc();

System.out.println(Thread de envio destruido);

}

if(this.TRecebe.isAlive()){

this.TRecebe.interrupt();

System.gc();

System.out.println(Thread de recebimento destruido);

}

}
//e este é o segundo

public void destruirThread(){

if (this.TEnvia.isAlive()){

this.TEnvia.destroy();

System.gc();

System.out.println(Thread de envio destruido);

}

if(this.TRecebe.isAlive()){

this.TRecebe.destroy();

System.gc();

System.out.println(Thread de recebimento destruido);

}

}

Onde TEnvia e TRecebe são os threads. Mas os 2 me devolvem ou uma InterruptedException ou um NoSuchMethodError.

Obrigado pela força.

1 Resposta

iSoron

As Threads a serem interrompidas precisam capturar essa exceção.
Com isso, deve funcionar…

[]'s
iSoron.

Criado 27 de dezembro de 2004
Ultima resposta 28 de dez. de 2004
Respostas 1
Participantes 2