c++

C++中timer的用法是什么

小亿
161
2023-11-22 15:32:59
栏目: 编程语言

在C++中,可以使用timer来实现定时执行某些操作的功能。常用的timer有两种实现方式:一种是使用C++标准库提供的chrono库,另一种是使用操作系统提供的定时器。

使用C++标准库的chrono库实现timer的步骤如下:

  1. 包含头文件<chrono><thread>
#include <chrono>
#include <thread>
  1. 定义一个函数或lambda表达式,表示要定时执行的操作。
void MyFunction(){
    // 执行定时操作的代码
}
  1. 使用std::this_thread::sleep_for函数来实现定时功能。
std::chrono::milliseconds duration(1000); // 设置定时的时间间隔,这里是1秒
while (true){
    MyFunction();
    std::this_thread::sleep_for(duration); // 休眠指定的时间
}

使用操作系统提供的定时器实现timer的步骤如下:

  1. 包含操作系统提供的定时器头文件,例如Windows下使用<windows.h>
#include <windows.h>
  1. 定义一个函数或lambda表达式,表示要定时执行的操作。
void MyFunction(){
    // 执行定时操作的代码
}
  1. 使用操作系统提供的定时器函数来实现定时功能。
UINT_PTR timerID = SetTimer(NULL, 0, 1000, NULL); // 创建一个1秒触发一次的定时器
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)){
    if (msg.message == WM_TIMER && msg.wParam == timerID){
        MyFunction(); // 定时器触发时执行操作
    }
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}
KillTimer(NULL, timerID); // 销毁定时器

以上是两种常用的C++中timer的实现方式,根据具体情况选择使用其中一种来实现定时功能。

0
看了该问题的人还看了