Давным-давно у меня была ошибка в моей программе. Основная причина заключалась в том, что функция C
sleep(60);
в редких случаях бездействовала менее 60 секунд.Или функция действительно заставляла поток спать более 60 с, но часы были автоматически изменены ОС (это кажется вероятным, поскольку ошибка происходила только на XX::00::00
), она же проявлялся редко и только в "круглый час" (сон должен был закончиться в >xh0m0s, он закончился в x-1h59m59.99*s
).
Затем мой руководитель проекта начал разглагольствовать о том, что он миллион раз говорил, что мы должны использовать только таймеры, а не спать.
С тех пор я принял мнение, что таймеры более точны, чем sleep(), но теперь я чувствую, что должен попросить какой-нибудь более авторитетный источник.
Итак:
Кстати, ОС была Linux, но мне нужен общий ответ, если это возможно.