Concorrência

2 respostas
S

Olá pessoal,

Estou com uma dúvida, porque neste código resumido que coloquei eu nem chego nem a ver "Conectando, aguarde..."? Ele dá um tempinho que é a demora para consultar o webservice e mostra logo o "Transação OK, imprimindo..."

Devo implementar Thread neste caso? Como?

private void SaldoCartao() {

jLcd.setText("Conectando, aguarde...");

  if(VerificaVarSaldo()) { 
            try {
                ConsultaWS Consulta = new ConsultaWS(); // Faz uma consulta no WebService
                Resposta = Consulta.Saldo(this.NumeroCartao,this.Senha);
            } catch (Exception ex) {
                ex.printStackTrace();                             
            }   

            if(Resposta[0].equals("-1")) {
               [...]
            }else{
               jLcd.setText(Resposta[7] + "\nImprimindo...");                   
               Imprimindo.Cupom(Resposta[6]);
            }
  }

}

2 Respostas

Kknd

Separar o processamento em uma thread diferente justifica a complexidade extra quando esse processamento ocupa muito tempo (dependendo do caso, dois segundos é muito tempo!). Verifique se essa conexão pode ocupar muito tempo no pior caso.

Kknd

(Post duplo sem querer, reaproveitando para algo útil)

Você também tem que analisar se o processo candidato a rodar em uma thread separada vai rodar sempre paralelamenta a aplicação ou vai precisar ser executado na hora e a aplicação precisar epserar pelo seu término antes de avançar.

Criado 23 de abril de 2007
Ultima resposta 23 de abr. de 2007
Respostas 2
Participantes 2