Есть ли способ запланировать событие без постоянно запущенных проверок - PullRequest
0 голосов
/ 04 ноября 2019

Допустим, я хочу запустить функцию при выполнении определенных условий, например, я хочу показать всплывающее сообщение в определенный час. Должен ли я продолжать проверять время от времени или есть какой-то другой способ запланировать событие без необходимости постоянного цикла? Язык не имеет значения, я просто хотел бы знать алгоритм, если он существует.

1 Ответ

0 голосов
/ 04 ноября 2019

Да, таймеры существуют, вам не нужно беспокоиться о ожидании, проверяя время.

Любая ОС, достойная этого имени, имеет sleep функций (иногда с таким именем) для сна для фиксированного числасекунд и / или alarm функций, которые занимают время пробуждения. Таймеры поддерживаются или могут поддерживаться аппаратными средствами, поэтому ОС также не ожидает ожидания.

POSIX alarm(2) занимает время в секундах, а не время суток, нов отличие от POSIX sleep(2) он не может «рано вставать». Таким образом, вы можете установить будильник и затем использовать sleep, пока будильник не разбудит вас. Или делайте другие вещи перед SIGALRM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...