作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在一定时间后停止游戏。 stop 方法必须在比方说一分钟后在主线程中运行。与此同时,玩家在玩,所以我无法停止执行。我试图理解线程和异步,但我开始认为它们在我的情况下都没有用(如果我加入,用户无法玩;如果我分离,将调用“停止”方法一个单独的线程)。我该如何处理?非常感谢
最佳答案
只要用 std::async 启动你的停止函数,然后在你的停止函数内部有一个 std::this_thread.sleep_for(60s) 作为第一次调用
例如
#include <future>
...
std::future<int> retCode = std::async(stop);
.. your game starts
int stop()
的内部
int stop()
{
std::this_thread::sleep_for(std::chrono::minute(1));
...do whatever to stop game...
}
关于c++11:如何在n秒后在主线程中执行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616241/
我是一名优秀的程序员,十分优秀!