Java - Error de precision en timer de java

 
Vista:

Error de precision en timer de java

Publicado por Ais (1 intervención) el 28/07/2009 20:08:52
Buenas. A ver si alguien sabe como solucionar esto ...

Estoy usando la clase import java.util.Timer para realizar una tarea cada x ms. Pues he notado ligeros errores, y al probarlo efectivamente, no realiza la tarea según los milisegundos que se le pasa. Solo funciona perfecto en múltiplos de 125 ms. En el ejemplo de abajo, en lugar de 300 ms funcinoa cada 312-313.

Alguien sabe como puedo hacer que esto funcione exacto ???
Gracias

Aquí una main class que lo prueba

import java.util.Timer;
import java.util.TimerTask;

public class probandoTimer {

public static void main(String[] args) {
Timer t=new Timer();
t.schedule(new Play(),0,300);
}
static class Play extends TimerTask {
long lastTime=System.currentTimeMillis();
long time;
public void run() {
time=System.currentTimeMillis();
System.out.println(time-lastTime);
lastTime=time;
}
}
}


----OUTPUT----
312
313
312
313
312
313
312
313
312
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder