美文网首页
Boost.Asio——(3)异步定时器

Boost.Asio——(3)异步定时器

作者: Savior2016 | 来源:发表于2017-11-21 17:21 被阅读48次

1 源码及注释

#include "stdafx.h"
#include <iostream>
#include <boost/asio.hpp>   //只需要添加此头文件就可以使用asio
#include <boost/date_time/posix_time/posix_time.hpp>//因为要使用计时器,所以添加此头文件

void print(const boost::system::error_code&)
{
    std::cout << "Hello, print!" << std::endl;
}
int main()
{
    
    boost::asio::io_service io;     //使用asio至少需要一个io对象
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));//第一个参数是一个io,定时器以其为基准,第二个参数设置了定时器时间,需要注意的是,定时器从此时就开始计时了
    std::cout << "wait......" << std::endl;                         
    //t.wait();                                                         //调用wait()函数,程序将阻塞等待,如果此时已经超过了计时器的定时,就会立即返回继续执行下面的函数。否则就等待计时结束。
    t.async_wait(&print);                                               //异步定时器
    std::cout << "Hello, asio!" << std::endl;
    io.run();                                                           //使用异步定时器必须调用该函数
    //回调函数只有在io.run()被调用时才会执行,否则永远都不会执行。io.run()会等待所有分配给这个io的任务执行完,然后返回退出,反过来说,调用run之前,必须分配了任务,不然它会立刻返回。

    getchar();   //使命令行停留

    return 0;
}

2 运行结果

启动.png 异步定时器回调.png

可以看到调用t.async_wait(&print);之后程序就继续执行了,直到定时器计数5秒才调用了回调函数。

相关文章

  • Boost.Asio——(3)异步定时器

    1 源码及注释 2 运行结果 可以看到调用t.async_wait(&print);之后程序就继续执行了,直到定时...

  • 定时器 类型转换 封闭函数

    定时器定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 /*定时器...

  • 2018-07-09

    定时器在javascript中的作用 1、制作动画 2、异步操作 3、函数缓冲与节流 定时器类型及语法 定时器: ...

  • 定时器

    定时器 定时器在javascript中的作用 1、制作动画 2、异步操作 3、函数缓冲与节流 定时器类型及语法 /...

  • 定时器

    定时器定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流定时器类型及语法/*定时器:s...

  • 数组循环定时器

    定时器 定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 /*定时...

  • 数组循环定时器

    定时器 定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 /*定时...

  • 前端知识定时器 类型转换 变量作用域

    定时器在javascript中的作用 1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 定时器制作时钟...

  • HTML中的定时器

    定时器在javascript中的作用 1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 定时器动画 定...

  • 2019-01-08

    一,定时器 定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲与节流定时器类型及语法/* 定...

网友评论

      本文标题:Boost.Asio——(3)异步定时器

      本文链接:https://www.haomeiwen.com/subject/muvwvxtx.html