2016-07-23 1 views
-3

У меня есть процесс, который представляет собой бесконечный цикл. Цель состоит в том, чтобы остановить процесс изложения задачи в течение периода времени, например, 5 минут. Однако управление процессом должно иметь возможность вернуть статус из цикла. Таким образом, использование Sleep() не является вариантом. Не могли бы вы помочь мне в лучшем решении для этой ситуации?Как реализовать сон внутри цикла, который не блокирует процесс от ответа

Моим основным решением является запуск таймера с таймаутом. Однако я не уверен в реализации. Пожалуйста, дайте мне совет.

спасибо.

+2

Запустить петлю на фоне нити. Используйте основной поток для мониторинга процесса. –

+0

Благодарим вас за ответ. Но не могли бы вы быть более конкретными с ответом – telcom

ответ

1

что это означает Ричард.

void f() { 
    sleep(minutes(5)); 
    //task after 5 minute here 
} 

int main() 
{ 
    auto a = thread(f); 
    //process management ....here 
}