Inconvenientes del evento Timer
Publicado por Angel (34 intervenciones) el 07/05/2003 03:07:40
por ejemplo
si en un momento dado son las 04:00:00
y luego... las 08:00:00
es fácil saber que han transcurrido 4 horas
ok
creé un evento timer que se dispara cada 1000 milisegundos
osea, cada un segundo
dentro de dicho evento, actualizo un valor de uno en uno
es decir, manipulo una variable acumulativa:
nSegTranscurridos=nSegTranscurridos+1
y seguido de ello, realizo ciertas operaciones que después de todo también toma algo de tiempo en milisegundos
supongamos que dichas operaciones se tarden 10 milisegundos
luego de 1 hora, vale decir... 3600 ejecuciones del evento timer
nSegTranscurridos será igual a 3600+3600*0.010 = 3636
osea... 36 segundos demás
no parece percibible
pero el problema se da cuando el tiempo se hace mucho más largo
por lo tanto...
¿cómo asegurarme que nSegTranscurridos sea exactamente igual al tiempo real transcurrido?
si en un momento dado son las 04:00:00
y luego... las 08:00:00
es fácil saber que han transcurrido 4 horas
ok
creé un evento timer que se dispara cada 1000 milisegundos
osea, cada un segundo
dentro de dicho evento, actualizo un valor de uno en uno
es decir, manipulo una variable acumulativa:
nSegTranscurridos=nSegTranscurridos+1
y seguido de ello, realizo ciertas operaciones que después de todo también toma algo de tiempo en milisegundos
supongamos que dichas operaciones se tarden 10 milisegundos
luego de 1 hora, vale decir... 3600 ejecuciones del evento timer
nSegTranscurridos será igual a 3600+3600*0.010 = 3636
osea... 36 segundos demás
no parece percibible
pero el problema se da cuando el tiempo se hace mucho más largo
por lo tanto...
¿cómo asegurarme que nSegTranscurridos sea exactamente igual al tiempo real transcurrido?
Valora esta pregunta


0