Problema com SLEEP - JAVA

2 respostas
J

Olá pessoal,

Estou com o seguinte problema:

Minha aplicação ultiliza um simples cronometro: 00:00:00

porém ao regredir a hora do sistema o mesmo para.

Descobri que o problema se encontra no sleep do Thread, que toma como base a hora do sistema.

Observações:

  • O cronometro independe da hora do sistema;
  • O usuário não tem nada haver com a mudança do relógio, e sim um equipamento que tem que mudar a hora do sistema para funcionar;
  • Já utilizei Threads, Timer, Calendar, ScheduledThreadPoolExecutor e nenhum funcionou.
  • Já teste no Windows, Mac e Linux.

Exemplo:

public class Reminder {

public static void main(String[] args) {

while (true) {

try {

Thread.sleep(1000);

System.out.println(Não parei);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

Se alterar a hora do sistema a mesma para.

Desde já grato.

2 Respostas

E

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6311057

J

Já tinha visto esse exemplo, problema:

Como ele ultiliza while(true) { o processador vai lá para cima.

E como não posso utilizar o outra função sem ser o sleep, o a thread trava.

Mas obrigado pela ajuda :slight_smile:

Criado 10 de abril de 2013
Ultima resposta 10 de abr. de 2013
Respostas 2
Participantes 2