¿Cómo cancelar la ejecución de un SwingWorker?

Actualmente tengo dos subprocesos SwingWorker haciendo trabajo en segundo plano. Si se produce una excepción, el método deja de funcionar, pero el hilo aún se está ejecutando.

Cómo hago para detener la ejecución y matar el hilo de ladoInBackground() si ocurre una excepción?

this.cancel(true) no destruya / cierre el hilo. ¿Cómo puedo conseguir esto

@Override
protected Boolean doInBackground() throws Exception {
        try {
            while (true) {
                //some code here                   
                return true;
            }
        } catch (Exception e) {       
            this.cancel(true); //<-- this not cancel the thread               
            return false;
        }
    }

Veo estos hilos en la depuración de Netbeans.

'AWT-EventQueue-0' em execução
'AWT-Windows' em execução
'SwingWorker-pool-1-thread-1' em execução
'SwingWorker-pool-1-thread-2' em execução

//*em execução = in execution

Respuestas a la pregunta(6)

Su respuesta a la pregunta