Есть ли простой способ заставить что-то произойти после определенной задержки в C ++?
В Python я просто использую frame.after (ms, myFunction), что приятно и просто — это кажется гораздо более сложной задачей в C ++!
Ранее предлагалось использовать Sleep (), к сожалению, это не работает, поскольку я пишу мод для Half-Life 2, и если я использую Sleep, то вся игра зависает на X секунд, а не просто вызывает событие после X секунд.
Так есть ли другой способ вызова функции после определенной задержки без использования сна?
В основном у вас есть 2 варианта imho:
thread
который будет спать вместо вашего основного thread
,thread
который содержит таймер.Я могу только рекомендовать повышает io_service
Вы можете пройти через все таймеры если вы новичок, чтобы повысить.
Если вы хотите остаться с std
Проверь это ссылка на сайт для получения дополнительной информации о std::async
А также этот для руководства о том, как использовать std::threads
Почему бы не использовать поток с таймером?
Проверьте этот сайт: https://codereview.stackexchange.com/questions/40915/simple-multithread-timer