viphorizon
@viphorizon

Как сделать цикл, который повторяется каждую секунду?

Как сделать цикл, который повторяется каждую секунду?
  • Вопрос задан
  • 4442 просмотра
Решения вопроса 1
@AlikDex
for (;;) {
    sleep(1);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@IvanSenishin
while(true){ // запускаем бесконечный цикл
    sleep(1); // задержка в 1 секунду
}
Ответ написан
Комментировать
только не надо забывать что цикл + sleep(1) за один час выполнится не 3600 раз, а меньше, так как время цикла будет занимать по времени 1 сек + время выполнения операций в цикле.
Для каких-то задач это не критично, а для например программирования микроконтроллеров (сталкивался с этим) довольно таки критично.
И еще не надо забывать, что если работать с периферией (последовательный порты, usb, запросы на внешние сервера web) время выполнения операций относительно большое.
В данном случае можно было бы исхитриться отслеживать время выполнения операций в цикле (microtime в php например) и из секунды вычитать это время, либо уж привязываться к часам сервера (если честно такое делал только на c# и то в качество эксперимента)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы