c++ - C++中的方法,每隔特定分钟数调用一个函数

标签 c++ timer function-call

我正在使用 Visual Studio 2012 和 C++,我需要每 5 分钟调用一个函数,我已经设法做到了,但它占用了我 25% 的 CPU,这远非理想。

代码如下,

time_t start;
time_t end;
time(&start);
while (1) {
time(&end);
double dif = difftime (end,start);
if (dif >= 300) { autofunction(); time(&start);} else {} }

有没有更高效的 CPU 方法来每 5 分钟调用一个函数,或者有什么方法可以减慢我的 while 循环?

任何指导将不胜感激。

最佳答案

Windows 有 Sleep(),对于每 300 秒发生一次的事情来说,这非常好。 Windows 中也有计时器,它可能带有一个 timerproc 参数,它是一个函数——但请注意,这是一个 C 函数,而不是 C++,因此它不能是一个类成员函数,除非它是一个静态函数。

关于c++ - C++中的方法,每隔特定分钟数调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014713/

相关文章:

c++ - 从 std::istreambuf_iterator 创建 std::string,奇怪的语法怪癖

c - 如何在 C 中的 for 循环中访问 6 个不同的函数?

python - 函数调用中的双括号是什么意思?例如函数(foo)(酒吧)

java - Android 倒计时器 - 循环使用列表值重新启动计时器的 ArrayList

python - sys.exit(0) 是退出/终止 python 线程的有效方法吗?

java - 如何停止定时器线程改变变量值

Python修改不在函数内部的变量

c++ - 如何更改Qt中进度条的默认样式颜色

c++ - 无法让法语字符在 C++ 中工作

c++ - Win32 MD5 哈希器的奇怪行为