Имеется некоторый бесконечный цикл выполняющие некоторую работу с определённой периодичностью:
Код: Выделить всё
while (!stop) {
do_work();
sleep(timeout);
}Пока периодичность исчисляется единицами секунд всё более нормально, но предположим периодичность стала несколько десяток секунд.
Отсюда возник вопрос - существует ли стандартная функция сна с выходом по сигналу или окончанию установленного интервала, этакий аналог wait_event_hrtimeout из linux?
Конечно можно изобразить цикл вида, но это пустая трата ресурсов:
Код: Выделить всё
do {
sleep(1);
count++;
} while (!stop || count < timeout);Спасибо.