博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用异步方法
阅读量:5992 次
发布时间:2019-06-20

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

1、Bug描述

  使用boost串口编程,main方法调用异步read,传入回调方法,运行程序,出现 “串口读取位置...时发生访问冲突”。而在main方法中,使用串行,

while(true){read, write ,} 不会报错。

2、最后问题,终于找到了。使用同步方法,main方法不会退出,而使用异步方法,main方法退出,这个时候再去执行 回调方法的时候,当然会报错,main方法都退出了。

3、解决办法:使用异步方法的时候,main方法使用while(true){sleep;} 紧接思考,如果main方法不再做其他事,直接使用同步方法就好了。因为异步方法的使用场景是:去让别人做一件事(别人做完后,回调自己去做某件事),不阻塞自己做其他的事情。如果自己不做其他事,不需要使用异步方法。

4、异步方法相当于,重启了一个线程去做某件事,做完之后,调用回调方法。回调方法在主线程上同步执行,而不是在异步方法创建的线程上。

转载地址:http://fgtlx.baihongyu.com/

你可能感兴趣的文章
消费者端的Spring JMS 连接ActiveMQ接收生产者Oozie Server发送的Oozie作业执行结果
查看>>
SQL2005中的事务与锁定(九)- 转载
查看>>
Pomm 1.1.0 RC2 发布,PHP 的 ORM 框架
查看>>
【转载】我们要做不完美的自己
查看>>
用dtmf实现asterisk自动拨打分机
查看>>
嵌入式开发之davinci--- 8127 中camer 和 capture link 的区别
查看>>
js操作DOM动态添加和移除事件
查看>>
salt进程查看插件&salt批量创建用户
查看>>
《PHP Manual》阅读笔记1
查看>>
云锵基金 2018 年度运行报告
查看>>
时光易逝,我懂你心
查看>>
《极限特工》系列IP启动 系列新作将在中国取景
查看>>
统计局:2018年全国社会消费品零售总额超38万亿元
查看>>
甘肃基层藏族女干部为村民解难事 扶贫扶智“少闲人”
查看>>
前端入门需要收藏的各种最新技术中文文档地址
查看>>
2019年别离职、别创业、别投资,收藏好这些热点好好干!
查看>>
Spring bean 作用域笔记
查看>>
Vary Admin:基于Vue.js的后台管理模板
查看>>
SpringCloud 总览
查看>>
PostgreSQL构建通用标签系统
查看>>