在 C++ 中经过 30 毫秒后退出循环的最佳方法是什么

What is the best way to exit out of a loop after an elapsed time of 30ms in C++(在 C++ 中经过 30 毫秒后退出循环的最佳方法是什么)

本文介绍了在 C++ 中经过 30 毫秒后退出循环的最佳方法是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 C++ 中退出循环的最佳方法是尽可能接近 30 毫秒.轮询提升:microsec_clock ?轮询 QTime ?还有什么?

What is the best way to exit out of a loop as close to 30ms as possible in C++. Polling boost:microsec_clock ? Polling QTime ? Something else?

类似于:

A = now;
for (blah; blah; blah) {
    Blah();
    if (now - A > 30000)
         break;
}

它应该适用于 Linux、OS X 和 Windows.

It should work on Linux, OS X, and Windows.

循环中的计算用于更新模拟.每 30 毫秒,我想更新一次视口.

The calculations in the loop are for updating a simulation. Every 30ms, I'd like to update the viewport.

推荐答案

此链接中的代码片段示例几乎可以满足您的需求:

The code snippet example in this link pretty much does what you want:

http://www.cplusplus.com/reference/clibrary/ctime/时钟/

改编自他们的例子:

void runwait ( int seconds )
{
   clock_t endwait;
   endwait = clock () + seconds * CLOCKS_PER_SEC ;
   while (clock() < endwait)
   {
      /* Do stuff while waiting */
   }
}

这篇关于在 C++ 中经过 30 毫秒后退出循环的最佳方法是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 C++ 中经过 30 毫秒后退出循环的最佳方法是什么

基础教程推荐