Como parar um thread?

2 respostas
dudu_sps

galera… fiz uma tela… que quando o usuario entrar ela fica fazendo pesquisa de tanto em tanto tempo…
uma thread… mas depois que eu saio dessa tela… ainda continua fazendo a pesquisa…

como faço pra parar

segue meu codigo… que chama a thread

private void verifica(){
		ActionListener tarefa = new ActionListener(){
			@SuppressWarnings("unchecked")
			public void actionPerformed(ActionEvent e){
				AutorizacaoDAO atr = new AutorizacaoDAO();
				try {
					List listaau = atr.selecionaPendentes(getEmpresa());
					if(listaau.size() > 0){
						btn_autorizacao.setVisible(true);
					}else{
						btn_autorizacao.setVisible(false);
					}
				} catch (Exception e1) {
					e1.printStackTrace();
				}
		     }
		   };
		//20000
		javax.swing.Timer timer = new javax.swing.Timer(2000, tarefa);
		   timer.start();
	}

2 Respostas

rogelgarcia

Coloca um boolean na sua classe... e faz o loop em torno dele

Quando for para terminar.. outra Thread seta o valor desse boolean para indicar a thread para parar exemplo:

boolean stop = false;

while(!stop){
    //faça algo
}
outra thread
thread1.stop = true;
pedroroxd

Cria 1 boolean:

boolean flag = true; while (flag) { //faz as coisas }
Quando quiser parar, basta fazer:

flag = false;
Criado 20 de março de 2010
Ultima resposta 20 de mar. de 2010
Respostas 2
Participantes 3