我在另一个线程中调用boost :: asio :: serial_port :: async_write_some()和asio :: io_service :: run()。有一个回调给“async_write_some”。我可以安全地假设,最终将调用此回调(可能带有一些错误代码)?在什么情况下这不是真的?
答案 0 :(得分:4)
我可以安全地假设,最终会调用此回调(可能带有一些错误代码)吗?
我认为没有。
在什么情况下这不是真的?
在发送数据之前调用io_service :: stop方法。
答案 1 :(得分:3)
只要运行io_service,就可以保证在异步操作完成后(无论是否成功)调用完成处理程序。