В C я хочу, чтобы блок операторов неоднократно выполнялся каждый t секунды. Как я делаю это?
Это не может быть сделано в стандарте C, вам нужно использовать некоторую платформу API.
Один популярный выбор - это функция сигнализации POSIX ' ()
.
Это «чистое» асинхронное решение. Это, конечно, возможно измерить и обрабатывать время другим способом, но они все еще зависимы от платформы. Вы можете использовать Сон ()
(опять же, posix), чтобы просто заблокировать. Если вы объедините это с желаемыми утверждениями в цикле, которые должны работать тоже.
Вам нужно будет создать нить или процесс, который запускает цикл, содержащий запрос ожидания.
Если ваша приложение работает на Windows, вместо этого вы можете использовать функцию SELLIMER .
Согласен с рекомендацией разматывания для тревоги (), но не забудьте установить другую тревогу () после того, как вы закончите с периодическим блоком обработки.