Controlar tempo

6 respostas
M

Pessoal,

Estou com um impasse em uma aplicação que estou desenvolvendo. Seguinte, preciso que o sistema fique lendo um arquivo durante 30 segundos. Se ele achar o que está procurando ele deve executar uma rotina, senão o sistema deve encerrar o funcionamento. Estou sem saber como faço isso. Alguém pode me da alguma idéia?

6 Respostas

E

Faça a sua busca de modo tal que de vez em quando veja quanto tempo já passou desde que começou a procurar. Se o tempo estourou, essa busca deve simplesmente terminar.

Algo parecido com:

long tempoInicial = System.currentTimeMillis();
boolean achou = false;
while (!achou) {
    if (System.currentTimeMillis() - tempoInicial < 30000) { // 30 segundos
        continuar procurando;
    } else {
        desistir;
        break;
    }
}
if (!achou) {
    Não achou, indicar 
}
I

Se ele encontrar oq precisa manda a thread dormir pelo tempo restante. Entendi direito o problema?

flw

M

entendi. Valeu pessoal!

M

Pessoal,
uma outra dúvida, existe alguma forma de matar um processo java, através do código?

E

Não é adequado “matar” um processo. De qualquer maneira, você sempre pode sair de um processo usando System.exit (0).

M

Utilizei o System.exit(0) e deu certo. Valeu novamente.

Criado 3 de agosto de 2010
Ultima resposta 3 de ago. de 2010
Respostas 6
Participantes 3