博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost中asio的deadline_timer异步调用示例
阅读量:5954 次
发布时间:2019-06-19

本文共 1011 字,大约阅读时间需要 3 分钟。

hot3.png

#include <iostream>
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
void print(const boost::system::error_code&, boost::asio::deadline_timer *t, int *count)
{
    if (*count < 5) {
        std::cout << "print: " << "hello world times: " << *count << std::endl;
        ++(*count);
        t->expires_at(t->expires_at() + boost::posix_time::seconds(1));
        t->async_wait(boost::bind(print, boost::asio::placeholders::error, t, count));
    }
}
int main()
{
    struct tm *myTm;
    char myDate[21];
    int count = 0;
    time_t myTime = time(NULL);
    strftime(myDate, 21, "%Y-%m-%d %H:%M:%S", localtime(&myTime));
    std::cout << myDate << std::endl;
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(1));
    t.async_wait(boost::bind(print, boost::asio::placeholders::error, &t, &count));
    io.run();
      
    myTime = time(NULL);
    strftime(myDate, 21, "%Y-%m-%d %H:%M:%S", localtime(&myTime));
    std::cout << myDate << std::endl;
    return 0; 
}   

转载于:https://my.oschina.net/oldmonk/blog/32271

你可能感兴趣的文章
闭包 !if(){}.call()
查看>>
python MySQLdb安装和使用
查看>>
Java小细节
查看>>
poj - 1860 Currency Exchange
查看>>
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>