Como cancelar a execução de um SwingWorker?
Atualmente, tenho dois threads do SwingWorker fazendo o trabalho em segundo plano. Se ocorrer uma exceção, o método para de funcionar, mas o thread ainda está executand
Como faço para interromper a execução e matar o thread dodoInBackground()
se ocorrer uma exceção?
this.cancel(true)
não destrua / feche o tópico. Como posso conseguir isso?
@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;
}
}
Eu vejo esses tópicos na depuração do Netbean
'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