Задать вопрос

Как организовать таймер в Си?

Я почти уверен, что вопрос банален, но почему-то у меня не получается найти хорошее решение.

Есть программа сидящая в бесконечном цикле. Раз в минуту этот цикл надо прервать и выполнить некие действия. Причём прервать нужно именно в начале минуты, т.е. после наступления нулевой секунды. Время может корректироваться по GPS, поэтому привязываться нужно к началу минуты, а не к временному интервалу.

Как это можно сделать грамотно? Попадающиеся мне решения основаны на опросе часов с функцией sleep/usleep. Но это значительно нагружает процессор, а программа в идеале должна сидеть и не занимать процессорное время, пока не придёт начало минуты.
  • Вопрос задан
  • 10246 просмотров
Подписаться 5 Оценить 2 комментария
Решение пользователя xandox К ответам на вопрос (5)
@xandox
можно ставить sleep на секунду и каждую секунду проверять - не началась ли минута.
когда процесс находиться в sleep он не использует процессор вообще ни как, так что ничего он не нагружает.
Ответ написан