C++11 线程:睡在剩下的时间
我正在尝试为我的小游戏实施更新流 C++11 线程。 我有一个更新周期 "尽可能快地", 但我想限制他,说, 60 每秒一次。 我怎么能得到剩下的时间?
Core::Core//
{
std::thread updateThread/update/; // Start update thread
}
void Core::update//
{
// TODO Get start time
// Here happens the actual update stuff
// TODO Get end time
// double duration = ...; // Get the duration
// Sleep if necessary
if/duration < 1.0 / 60.0/
{
_sleep/1.0 / 60.0 - duration/;
}
}
没有找到相关结果
已邀请:
4 个回复
江南孤鹜
赞同来自:
每次你使用
而且你看到你手动转换衡量单位,你可以打开自己的错误,或立即或将来的维护。 让我们
为您进行转换。
</chrono></chrono></int,>
知食
赞同来自:
. C++11 螺纹有
, 什么占据了一定的持续时间 /即睡觉 10 秒/, 和
, 什么占据了某个时间点 /即睡到下周四/. 对于一条流,应该以固定的间隔醒来,
- 这是方式。 只是睡觉直到下一个觉醒。
石油百科
赞同来自:
http://en.cppreference.com/w/cpp/header/chrono
.
例如:
</double_milliseconds></double,>
喜特乐
赞同来自:
在这个例子中,我使用过
http://msdn.microsoft.com/en-u ... .aspx
要测量时间,但您可以使用高精度使用任何其他功能