Faça uma subclasse da classe Thread, por exemplo:
public class SubThread extends Thread {
private boolean trabalhando = true;
public void finalizar() {
trabalhando = false;
}
public void run() {
while (trabalhando) {
acao();
}
}
public void acao() {
//Este método devera ser sobrescrito
}
}
Assim quando for criar uma Thread voce pode extender a classe SubThread ao inves de Thread, e implementar o método acao() ao invez do método run(), quando for necessário parar a thread, basta chamar o método finalizar() para finalizá-la com segurança.
Se gostares da idéia, agora é só uma questão de adaptar a idéia ao seu projeto.
Espero ter contribuído de qualquer forma.
[]s
Carlos H.
Mário Roberto Porto Filho wrote:
Pessoal........Como eu faria para terminar um thread que esta implementando um socket ouvinte....(servidor)Eu pensei em variável compartilhada mas o thread ficará parado no accept() e não iria dar certo.-----------------------------------------------------------------Ex:ServerSocket skServer;......new ThreadServerChild(skServer.accept()).start(); // O Thread vai ficar parado aqui, ouvindo em uma porta-----------------------------------------------------------------Obs: ThreadServerChild é um outro thread que cuidará da conexão para que o servidor possa ser multi-thread !!!Como eu faço para terminar este Thread(Servidor) através de um clique de mouse por exemplo ?Qual a melhor saída ?Obrigado
-- /** * [Carlos H.] - [EMAIL PROTECTED] * Núcleo de Informática UNERJ - Centro Universitário de Jaraguá do Sul * * "O Sábio fala pouco do que muito sabe * O Tolo fala muito do que pouco sabe..." */