Contador

3 respostas
Leco2

Boa tarde pessoal,

Gostaria de ter a ajuda de vcs sobre um assunto. No meu programa em determinado ponto ele entra em looping (propositalmente), por isso quero fazer um temporizador, para que o programa fique por exemplo não mais que 1 min, naquela função. Sei que existe o Timer mas já testei e não funcionou da maneira que eu gostaria.
Seria mais ou menos um timer, ele contaria qnto tempo estou na função e caso ultrapasse um determinado valor ele sai dela.
Daria pra fazer com thread? Se possível por favor me digam para que possa estudar… já vi algumas coisas a respeito com thread mas não entendi muito bem >.<

Agradeço desde ja!

3 Respostas

marcosharbs

pode fazer com Date mesmo bem simples, quando for entrar no loop vc pega a data atual, a cada interação do loop vc pega a data de novo e ve se ja passou um minuto da data de inicio do loop, se passou vc da um return e sai do metodo ou dispara uma exception.

Leco2

Seria algo mais ou meno assim?

Date data = new Date(System.currentTimeMillis());
marcosharbs

podes fazer isso aqui:

//pega a data de inicio do loop
Calendar dataInicio = Calendar.getInstance();
int minInicio = dataInicio.get(Calendar.MINUTE);

//loop
while(true){
    //pega o minuto atual
    Calendar dataAtual = Calendar.getInstance();
    int minAtual = dataAtual.get(Calendar.MINUTE);

    //ve se já passou um minuto do inucio do loop
    if(minAtual == minInicio + 1){
         return;
    }

}
Criado 27 de julho de 2009
Ultima resposta 27 de jul. de 2009
Respostas 3
Participantes 2