¿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