gpt4 book ai didi

C++主循环定时器

转载 作者:行者123 更新时间:2023-11-30 00:58:38 25 4
gpt4 key购买 nike

我的 C++ 程序有一个主循环,它一直运行到程序说它完成为止。在主循环中,我希望能够让某些事情在特定的时间间隔内发生。像这样:

int main()
{
while(true)
{
if(ThirtySecondsHasPassed())
{
doThis();
}
doEverythingElse();
}
return 0;
}

在这种情况下,我希望每三十秒调用一次 doThis(),如果不需要调用它,则让主循环继续并处理其他所有内容。

我该怎么做?另请记住,此程序旨在连续运行数天、数周甚至数月。

最佳答案

这是一个更通用的类,您可以在其中使用单独的计时器。

class Timer{
public:
Timer(time_type interval) : interval(interval) {
reset();
}

bool timedOut(){
if(get_current_time() >= deadline){
reset();
return true;
}
else return false;
}

void reset(){
deadline = get_current_time() + interval;
}

private:
time_type deadline;
const time_type interval;
}

关于C++主循环定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5923524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com