在C++中使用定時器可以通過使用std::chrono
庫來實現。以下是一個使用定時器的簡單示例:
#include <iostream>
#include <chrono>
#include <thread>
void timer_callback()
{
std::cout << "Timer expired!" << std::endl;
}
int main()
{
// 創建一個定時器線程
std::thread timer_thread([](){
// 等待 2 秒
std::this_thread::sleep_for(std::chrono::seconds(2));
// 調用定時器回調函數
timer_callback();
});
// 主線程執行其他任務
std::cout << "Main thread is working..." << std::endl;
// 等待定時器線程結束
timer_thread.join();
return 0;
}
在上述示例中,我們創建了一個定時器線程,在該線程中等待2秒鐘后調用timer_callback
函數。主線程在等待定時器線程結束之前執行其他任務。運行該程序,你會看到主線程先輸出 “Main thread is working…”,然后2秒鐘后定時器線程輸出 “Timer expired!”。
以上是使用std::chrono
庫實現簡單的定時器的方法,你也可以根據需求使用更高級的定時器庫,如Boost.Asio庫來實現更復雜的定時功能。