是否保证boost::asio中async_*的处理程序将始终被调用
Is it guaranteed that handler of async_* in boost::asio will be always called?
我在另一个线程中调用boost::asio::serial_port::async_write_some()和asio::io_service::run()。有一个回调给了"async_write_some"。我可以放心地假设,这个回调最终会被调用(可能带有一些错误代码)吗?在什么情况下这不是真的?
我可以放心地假设,这个回调最终会被调用(可能带有一些错误代码)吗?
我认为没有。
在什么情况下这不是真的?
io_service::stop方法在发送数据之前被调用。
只要io_service运行,就保证在异步操作完成后(无论成功与否)调用完成处理程序。
相关文章:
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 为什么我的 IExtractIcon 处理程序没有被调用?
- 在遍历处理程序的向量时注册和注销处理程序
- 有可能在信号处理程序中设置promise吗
- 在信号处理程序中捕获C++未处理的异常并恢复应用程序
- 在C++程序中使用的迭代器中未处理的异常
- 有关图像处理应用程序的硬件和软件安全性的建议
- 通过安装信号处理程序关闭多线程应用程序
- QDateTime::toString() 在退出处理程序中使用时失败
- 如何在 WindowProc 处理程序中区分箭头键和数字键盘?
- async_write完成处理程序最早何时完成?
- C++事件系统 - 多态事件和事件处理程序
- 使用信号处理程序处理从 FIFO 接收的数据
- 使用独立的 c++ 程序处理用 C 编写的字符设备驱动程序
- C 程序处理两个文件,而不是一个文件
- 是什么让这个程序处理缓慢?(C++)
- QT 中的应用程序>处理消息?
- MongoDB C++驱动程序处理副本集连接故障
- 使用 OpenCV 程序处理多页 PDF