Tenho uma aplicação, que ela libera uma thread que acessa alguns sites baixando uns arquivos e vai atualizando um progress bar... porém hoje fazendo uns testes reparei um problema.
Eu estava sem conexão na hora, então ele ficava aguardando a resposta e não obtinha...mas continuava aguardando...
reparei isso e fechei o programa. Conectei o celular como modem, e logo após, a pasta para ql os arquivos são enviados, começaram a ser preenchidos, sem o programa estar aberto. Então vi que tinha uma instancia do java aberta em background, que acredito ser a thread...que ficou no ar.
O que posso estar esquecendo de tratar para finalizar a thread e tudo relacionado ao executável na hora que finalizo o mesmo?
Segue o codigo de onde starto a thread:try{
Thread trd = null;
btnIniciar.setText("Aguarde...");
Runnable rnb = new Runnable(){
public void run(){
try{
btnIniciar.setEnabled(false);
clsProcessos proc = new clsProcessos();
proc.Processa(cbMes.getSelectedIndex(), txtAno.getText(), pbProgresso, jLabel17, txtLog, Config);
btnIniciar.setEnabled(true);
btnIniciar.setText("INICIAR");
}catch(Exception ex){
btnIniciar.setEnabled(true);
lblMsg.setText(ex.getMessage());
}
}
};
trd = new Thread(rnb);
trd.start();
}catch(Exception ex){
lblMsg.setText(ex.getMessage());
}