¿El método System.currentTimeMillis () realmente devuelve la hora actual?
Basado en ideas presentadas enenlazar Implementé varios "métodos de sueño" diferentes. Uno de estos métodos fue el "sueño binario", que se parece a esto:
while (System.currentTimeMillis() < nextTimeStamp)
{
sleepTime -= (sleepTime / 2);
sleep(sleepTime);
}
Debido a que la verificación de si ya se ha alcanzado el siguiente paso de tiempo tiene lugar al principio I, se esperaría que el método se esté ejecutando durante demasiado tiempo. Pero la distribución acumulativa del error de simulación (tiempo esperado - tiempo real) se ve así:texto alt http://img267.imageshack.us/img267/4224/errorvscummulativearran.jpg
¿Alguien tiene una idea de por qué estoy obteniendo estos resultados? Tal vez el método System.currentTimeMillis () realmente no devuelve la hora actual?
BR
Markus
@irreputable
Cuando realicé la evaluación, también creé una curva de campana utilizando un programa estadístico alemán. Debido a que no fue posible cambiar el título, aquí está la traducción al inglés de todos los elementos relevantes:
Häufigkeit = frecuencia
Fehler = error
Mittelwert = promedio
Std-Abw = desviación estándar
texto alt http://img694.imageshack.us/img694/2254/bellcurve.jpg