温馨提示×

C++ SetTimer函数怎么使用

c++
小亿
105
2023-10-22 13:55:08
栏目: 编程语言

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,让定时器线程退出,并等待定时器线程运行结束。

这只是一种简单的定时器实现方式,实际上还可以使用其他方法来实现更复杂的定时器功能,比如使用操作系统的定时器机制或者使用第三方库。具体的实现方式可以根据需求进行选择。

0