如何停止boost asio io_service并完成所有发布的处理程序

How to stop boost asio io_service and finish all posted handlers?

本文关键字:程序 处理 asio boost 何停止 io service      更新时间:2023-10-16

看起来io_service::stop()只让run()返回。io_service::~io_service会摧毁所有的联络人。

是否有办法让io_service完成所有排队处理程序,然后停止?

这是自动发生的:一旦所有工作完成(并且没有添加新工作),io_service::run将自动解除阻塞。这是在不使用io_service::work对象的情况下。