C++定时器实现定时任务
作者:野牛程序员:2023-08-11 17:16:19 C++阅读 3204
在C++中,可以使用不同的库来实现定时任务,其中一个常用的库是 std::thread 和 std::chrono,它们结合起来可以实现定时器功能。以下是一个简单的示例,展示如何使用这两个库来实现定时任务:
#include <iostream>
#include <thread>
#include <chrono>
void timerFunction() {
while (true) {
std::this_thread::sleep_for(std::chrono::seconds(5)); // 等待5秒
std::cout << "定时任务执行了" << std::endl;
}
}
int main() {
std::thread t(timerFunction); // 创建线程执行定时任务函数
// 主线程继续执行其他任务
for (int i = 0; i < 10; ++i) {
std::cout << "主线程执行第 " << i + 1 << " 个任务" << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
t.join(); // 等待定时任务线程结束
return 0;
}在这个示例中,使用了 std::thread 创建一个新的线程,该线程会循环执行 timerFunction(),在函数内使用 std::this_thread::sleep_for() 函数来实现定时等待。在主线程中,执行了一些其他任务,然后使用 std::this_thread::sleep_for() 函数来模拟任务的执行时间。
需要注意的是,这只是一个简单的示例,实际的定时任务可能需要更复杂的管理和控制,可能需要使用更专业的定时库或框架,例如 Boost.Asio 或者其他定时器库。另外,C++11 引入了 std::async 和 std::future,也可以用来实现异步任务,包括定时任务。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++struct和class的区别
- 下一篇:c++定时执行
