Basado en las ideas presentadas en link implementé varios "métodos de suspensión" diferentes. Uno de estos métodos fue el "sueño binaria", que se ve así:¿El método System.currentTimeMillis() realmente devuelve la hora actual?
while (System.currentTimeMillis() < nextTimeStamp)
{
sleepTime -= (sleepTime/2);
sleep(sleepTime);
}
Debido a que la verificación si ya se alcanza el siguiente paso de tiempo se lleva a cabo a principios I, se esperaría que el método está funcionando demasiado larga . Pero la distribución cumulativa del error de simulación (tiempo esperado - tiempo real) se ve así: alt text 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 hice la evaluación también creé una curva de campana utilizando un programa de estadística alemán. Debido a que no era posible cambiar el subtítulo, aquí está la traducción en Inglés de todos los elementos relevantes:
Häufigkeit = frecuencia
¡Error = Error de
Mittelwert = Media
Std-Abw = desviación estándar
alt text http://img694.imageshack.us/img694/2254/bellcurve.jpg
Intenté hacer una pregunta en http://stackoverflow.com/questions/ask y copié el tema de su tema en mi nueva pregunta de prueba y mientras ingresaba el campo de mensaje, obtuve una lista de todas (muy) relevantes temas que ya responden a su pregunta. Me preguntaba si realmente lo habías notado y explorado. – BalusC
Ohhh, tienes razón. Tal vez debería consultar más a menudo los temas relacionados antes de escribir una pregunta :-) – Markus
+1 para la curva. sabíamos que no es preciso, pero es agradable ver alguna cuantificación. ¿Puedes convertirlo en una curva de campana? – irreputable