我已经在互联网上寻找了很长一段时间来寻找一个简单的解决方案来解决一个相当简单的问题。
我有这个函数作为一个线程运行,我想要的很简单。周围有很多伪代码解释了它是如何完成的,但是我在 C/C++ 中实现它时遇到了麻烦。
我想要什么:我有一个循环,我想每秒运行 20 次。我以前做过,但我一生都记不起来了。
这是我的代码。
void* Tick::startBeating() {
mNext = clock();
mRunning = 1;
// Loop dat
while (mRunning) {
mT = clock();
while ((mT) >= mNext) {
// do updates here
std::cout << "Tick." << std::endl;
mNext = mT + SKIP_TICKS;
}
sleep(1);
}
return NULL;
}
这不起作用,似乎没有任何工作。C 语言中的简单解决方案在 Internet 上找不到,这让我感到惊讶。
是的,我知道 CLOCKS_PER_SEC,但我只是不知道了。
有什么帮助吗?