Вопрос

Я хочу назвать функцию бизнес-класса через каждые 2 часа. Я не получаю никакого способа реализовать то же самое в C / C ++ без использования цикла во время. Моя проблема заключается в том, что я не могу использовать в то время как (1), так как это не отменит контроль для дальнейшего выполнения.

Любой указатель в этом отношении WUUT будет полезен .... :)

Thnaks.

Это было полезно?

Решение

В простые с, я бы рассмотрел, используя alarm(2) или setitimer(2) Функции. В качестве альтернативы, поронтируйте нить и выступайте оттуда.

Если вы принимаете решение о маршрутах тревоги или STITITIMER, имейте в виду, что вам нужно будет писать обработчики сигналов, и может понадобиться петлю отправки, чтобы отметить, что пришло время выполнять периодические вызовы на техническом обслуживании, так как это считается плохой практикой, чтобы сделать довольно мало вещей изнутри сигналов.

Другие советы

Boost.asio. предоставляет Таймеры.

Для общего решения вы можете запустить нить, который отправляет некоторое сообщение на основной нить через 2 часа.

Для Linux вы можете использовать это:

http://linux.die.net/man/3/alarm

а затем обрабатывать сигнал SigalRM

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top