如何使io_service每200秒发布一次特定功能
how to make io_service post specific function every 200 seconds?
我想做一些操作,比如每200秒检查一次。如何使io_service变量每200秒发布一次此操作函数?boost中有库函数吗?
在未来使用一个到期时间为200秒的deadline_timer
,当async_wait
处理程序触发时,您可以调用任何您想要的函数
#include <boost/asio.hpp>
#include <iostream>
class Timer {
public:
explicit Timer(boost::asio::io_service& io_service) :
_timer( io_service )
{
this->wait();
}
private:
void wait()
{
_timer.expires_from_now(boost::posix_time::seconds(5));
_timer.async_wait([&](const boost::system::error_code& error) {
if (error) {
std::cerr << "Could not wait: " << error << std::endl;
return;
}
std::cout << "Done waiting!" << std::endl;
this->wait();
});
}
private:
boost::asio::deadline_timer _timer;
};
int
main()
{
boost::asio::io_service io_service;
Timer t{io_service};
io_service.run();
}
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在C++中一次将矢量值写入多个文件
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 为什么 zlib 放气初始化调用一次不起作用?
- 在一次迭代中从 txt 文件中读取多行
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 高级选择排序 - 在一次迭代中搜索两个元素
- 具有相同特征的两个对象是否只在内存中存储一次?无论定义它们的函数是什么,都是不同的
- 如何仅使用一次固定<<设置精度(2)?或者至少恢复到默认行为?
- 什么是仅调用一次并调用参数的控制台应用
- 如何确保用户在一行上提示输入一次时输入名字和姓氏?
- 如何一次定义几个功能,仅因名称而差异(不使用宏)
- 在功能静态变量上调用Setter一次
- 随机打印程序,尽管 sleep() 功能,一次打印多个输出
- 既然其他可滥用但有用的功能已经标准化了,为什么不#pragma一次呢
- 如何使io_service每200秒发布一次特定功能
- 将代码复制到RAM-如何一次复制多个功能