溫馨提示×

C++ SetTimer函數怎么使用

c++
小億
166
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女