阅读量:1
C++ 中没有 SetTimer 函数,但是可以使用相关的库函数来实现定时器功能。下面是一种使用 C++11 标准的 chrono 库来实现定时器的方法:
#include <iostream> #include <chrono> #include <thread> void timerCallback() { std::cout << "定时器触发" << std::endl; } int main() { // 设置定时器时间间隔为1秒 std::chrono::seconds interval(1); // 定义一个标志变量,用于控制定时器退出 bool flag = true; // 创建一个线程来执行定时器回调函数 std::thread timerThread([&]() { while (flag) { // 等待指定的时间间隔 std::this_thread::sleep_for(interval); // 调用定时器回调函数 timerCallback(); } }); // 等待用户输入,按下回车键后退出定时器 std::cin.get(); // 修改标志变量,退出定时器线程 flag = false; // 等待定时器线程运行结束 timerThread.join(); return 0; }
上述代码中,使用了 chrono
库来设置定时器的时间间隔,并且通过 thread
来创建一个线程执行定时器的回调函数。主线程等待用户输入后,修改标志变量 flag
,让定时器线程退出,并等待定时器线程运行结束。
这只是一种简单的定时器实现方式,实际上还可以使用其他方法来实现更复杂的定时器功能,比如使用操作系统的定时器机制或者使用第三方库。具体的实现方式可以根据需求进行选择。