有没有一种简单的方法在C++中延迟一段时间后执行某个操作?
在Python中,我只需要使用frame.after(ms,myFunction)就可以了,这很方便 - 但在C++中看起来要麻烦得多!
之前有人建议我使用Sleep(),不幸的是,这并不适用于我正在为Half-Life 2编写的模组,因为如果我使用Sleep,整个游戏会在X秒钟内挂起,而不仅仅是在X秒钟后调用事件。
那么,有没有其他方法可以在延迟一段时间后调用函数,而不使用sleep呢?
我认为你有两个选择:
线程
,让它睡眠而不是你的主 线程
。线程
。如果你是boost的新手,我只能推荐 boosts io_service。
如果你是boost的新手,你可能需要阅读所有的 计时器教程。
为什么不使用带有计时器的线程? 请查看此网站:https://codereview.stackexchange.com/questions/40915/simple-multithread-timer
std::this_thread::sleep()
和std::async()
一起使用,这样可以吗? - The Paramagnetic Croissantframe.after(ms, myFunction)
是 Half-Life 模组 Python API 的一部分,那么必定存在 C++ 等效代码,这正是您所需要的。 - zwol