What is the difference between poll and run?

2019-06-26 07:15发布

问题:

Does anyone have an example illustrating the difference between boost::asio::io_service::poll and boost::asio::io_service::run?

More specifically what is the difference between calling join_all() on a thread_group executing run() and on another one executing poll()? Do both guarantee that all events have finished?

In the documentation available at http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/reference/io_service/run/overload1.html, it is said:

The poll() function may also be used to dispatch ready handlers, but without blocking.

but I can't see what it clearly means.