是否可以保证始终调用boost :: asio中的async_ *处理程序?

时间:2012-03-03 12:24:21

标签: c++ boost boost-asio

我在另一个线程中调用boost :: asio :: serial_port :: async_write_some()和asio :: io_service :: run()。有一个回调给“async_write_some”。我可以安全地假设,最终将调用此回调(可能带有一些错误代码)?在什么情况下这不是真的?

2 个答案:

答案 0 :(得分:4)

  

我可以安全地假设,最终会调用此回调(可能带有一些错误代码)吗?

我认为没有。

  

在什么情况下这不是真的?

在发送数据之前调用io_service :: stop方法。

答案 1 :(得分:3)

只要运行io_service,就可以保证在异步操作完成后(无论是否成功)调用完成处理程序。