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...
            }
        }
    }