Как выполнить что-то каждый t секунды в C?

В C я хочу, чтобы блок операторов неоднократно выполнялся каждый t секунды. Как я делаю это?

6
задан unwind 12 January 2010 в 15:07
поделиться

4 ответа

Это не может быть сделано в стандарте C, вам нужно использовать некоторую платформу API.

Один популярный выбор - это функция сигнализации POSIX ' () .

Это «чистое» асинхронное решение. Это, конечно, возможно измерить и обрабатывать время другим способом, но они все еще зависимы от платформы. Вы можете использовать Сон () (опять же, posix), чтобы просто заблокировать. Если вы объедините это с желаемыми утверждениями в цикле, которые должны работать тоже.

7
ответ дан 9 December 2019 в 22:35
поделиться

Вам нужно будет создать нить или процесс, который запускает цикл, содержащий запрос ожидания.

3
ответ дан 9 December 2019 в 22:35
поделиться

Если ваша приложение работает на Windows, вместо этого вы можете использовать функцию SELLIMER .

1
ответ дан 9 December 2019 в 22:35
поделиться

Согласен с рекомендацией разматывания для тревоги (), но не забудьте установить другую тревогу () после того, как вы закончите с периодическим блоком обработки.

0
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: