第13章 网络 Page727~728 asio定时器例子:后创建的定时器先产生到点事件

代码:

35行,42行,51行,分别构造三个对象,

36行,43行,52行,设置了三个任务peng1、peng2、peng3,并将任务交给io_service对象(不需要ios的run()方法启动起来),然后将任务完成后的回调动作设置为函数对象。

当55行,ios的run方法启动起来,ios就开始运转了,三个任务的前四秒钟,是并行运行的,当操作系统完成任务后,会反馈一个事件给ios,如果ios这一会儿是空闲的,ios便开始执行回调动作。

运行效果:

调试:

在20行设置一个断点,可以看到调试开始后,过了几秒中之后,程序才停在了20行,这就印证了,操作先完成定时任务之后,才反馈一个事件,ios才开始处理这个事件,并调用回调动作。而且可以看到首先触发的回调动作是“炸弹2”

io_service类用于处理身上事件的方法:

除run()这一主要运转方法之外,io_service类还有三个可用于处理身上事件的方法:

run_one()

poll()

poll_one()

带有“_one”后缀的方法作用正如其名,一次调用最多只会执行一个事件(最少当然是零个)。run()和poll()的区别,留到后面再讲

当一个io_service对象正在执行run()、run_one()、poll()、和poll_one()中的任何一个方法时,我们称该io_service对象处于“运转”状态。为行文简洁,有时也会用run()函数代表全部四个运转函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/469221.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

站在C/C++的肩膀速通Java面向对象

默认学过C或C,对变量、表达式、选择、循环都会。 运行特征 解释型语言(JavaScript、Python等) 源文件-(平台专属解释器)->解释器中执行编译型语言(C、Go等) 源文件-(平台编译器)->平台可执行文件Java 源文件-(…

Swift Combine 网络受限时从备用 URL 请求数据 从入门到精通十四

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

源码推荐:hello-algo @ github

github https://github.com/krahets/hello-algo 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。算法源代码皆可一键运行,支…

[韩顺平]python笔记

AI工程师、运维工程师 python排名逐年上升,为什么? python对大数据分析、人工智能中关键的机器学习、深度学习都提供有力的支持Python支持最庞大的 代码库 ,功能超强 数据分析:numpy/pandas/os 机器学习:tensorflow/…

第5个-模糊加载

Day 5 - Blurry Loading 1. 项目展示 2. 分析思路 变化过程 数字从 0 不断增长到 100;中间的百分比数字逐渐消失,即透明度 opacity 从 1 到 0;背景图片从模糊变为清晰,滤镜 filter.blur()的参数设置为从 30px 到 0px。 小 tips…

【Java程序设计】【C00254】基于Springboot的java学习平台(有论文)

基于Springboot的java学习平台(有论文)) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的学习平台 本系统分为系统功能模块、管理员功能模块、教师功能模块以及学生功能模块。 系统功能模块:在平台…

2024 年合并 PDF 文件的免费 PDF 合并软件榜单

合并 PDF 是当今人们寻找的最重要的功能之一。在本文中,您将了解前五名的 PDF 合并软件以及详细的介绍,以便您选择最佳的。如果您想将所有重要信息都放在一个文件中,而不是在不同的文件中查找,那么合并 PDF 文件是必要的。通过这种…

创建良好班风的重要性和意义

为什么有的班级总是充满活力,学生们团结友爱、学习热情高涨,而有的班级却显得沉闷,学生们缺乏动力,对学习毫无兴趣?其实,这背后的关键就在于班风的建设。 班风,简单说,就是一个班级…

OpenCV Mat 实例详解 二

构造函数 OpenCV Mat实例详解一中已介绍了部分OpenCV Mat构造函数&#xff0c;下面继续介绍剩余部分构造函数。 Mat (const std::vector< _Tp > &vec, bool copyDatafalse)&#xff1b; vec 包含数据的vec对象 copyData 是否拷贝数据&#xff0c;true— 拷贝数据&…

比特币再次上演“初五破五”精彩戏法!

号外&#xff1a;2.13教链内参《随着BTC一度突破5万刀&#xff0c;超过9成持有者已盈利》 比特币无惧美通胀数据阻击&#xff0c;在短暂回落之后坚决反攻&#xff0c;在中国农历大年初五&#xff0c;2月14日情人节&#xff0c;大涨6%&#xff0c;从48k绝地反击&#xff0c;再次…

Momentum2

攻击机 192.168.223.128 目标机 192.168.223.147 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -sV -A -p- 192.168.223.147 开启了22 80 端口 看一下web界面 源码&#xff0c;robots.txt ,url都观察了一下好像没什么有用信息 扫一下目录 gobuster dir -u http:…

第12讲创建图文投票实现

创建图文投票实现 图文投票和文字投票基本一样&#xff0c;就是在投票选项里面&#xff0c;多了一个选项图片&#xff1b; <view class"option_item" v-for"(item,index) in options" :key"item.id"><view class"option_input&qu…