2010-03-05 18 views
15

¿Los despertadores espurios afectan las llamadas a Thread.sleep (x)? Obviamente, el temporizador no es 100% preciso (lo que produce inexactitudes menores en los tiempos de reactivación), pero ¿se ve afectado por el problema de activación espuria?¿Las activaciones espúreas afectan a Thread.sleep?

+0

¿Qué quiere decir con 'afectado'? ¿Estás preguntando si puede hacer que no se ejecuten en el momento adecuado? o no se despierta? ¿O preguntas si pueden despertarse accidentalmente? – Kylar

+0

Pregunto si pueden despertarse accidentalmente antes de que se despierten (con "debería ser" definido como un período de tiempo mayor que la inexactitud natural del temporizador subyacente). – jsight

Respuesta

9

Pregunta si Thread.sleep() se ve afectado por el mismo problema spurious wakeup que está documentado que afecta a Object.wait(long), ¿verdad? La respuesta es que no hay ningún despertar espurio documentado asociado con Thread.sleep(). Tiene razón en que no se hacen garantías estrictas sobre cuánto tiempo dormirá exactamente cuando solicite N milisegundos. Además, por supuesto, Thread.sleep() termina en la interrupción de hilo.

+6

¿Quiere decir que la respuesta es "No, no tenemos que protegernos contra la activación espuria" o "Sí, tenemos que protegernos contra la activación espuria"? – Pacerier

4

intervalo de sueño real siempre es> = intervalo requerido. es especialmente sensible en intervalos pequeños.

ahora sobre "despertares espurios". no fue mencionado sobre Thread.sleep

Cuestiones relacionadas