Saiba como parar uma tread
A maneira apropriada para parar uma thread rodando é a de ajustar uma variável que a thread fique verificando temporariamente. Quando a thread detecta que a variável está modificada, a thread deve parar sua execução.
Nota: Thread.suspend() e Thread.stop() são métodos assíncronos de parar uma thread. Entretanto, estes métodos foram deprecados porque são muito inseguros. Usá-los resulta frequentemente em deadlocks e na incorreta limpeza do recurso.
// Cria e inicia a thread
MyThread thread = new MyThread();
thread.start();
// processamento...
// Para a thread
thread.allDone = true;
class MyThread extends Thread {
boolean allDone = false;
// Este método é chamado quando thread é iniciada
public void run() {
while (true) {
// processamento...
if (allDone) {
return;
}
// processamento...
}
}
}