Thread - Continua executando

1 resposta
B

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());            
        }

1 Resposta

L

Experimenta criar um método … tipo verificaConexao(),que tem a seguinte idéia… ele fica cuidando …se em digamos 20 segundos…se não retornou nada do socket criado, ele cai fora da thread pai e finaliza tudo e mostra uma msg ou lança uma exception

Criado 17 de novembro de 2010
Ultima resposta 17 de nov. de 2010
Respostas 1
Participantes 2