在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库来实现更复杂的定时功能。