boost :: io_service poll_one和run_one之间有什么区别?

Elo*_*off 8 c++ boost boost-asio

io_service :: poll_one运行io_service对象的事件处理循环以执行一个就绪处理程序.

VS

io_service :: run_one运行io_service对象的事件处理循环以执行最多一个处理程序.

根据该解释,看起来poll_one可能会执行多个处理程序?run_one或poll_one是使用任何名为run()的线程还是仅使用调用poll_one/run_one的线程?

ASIO的文档非常稀少.

Căt*_*tiș 14

poll_one 如果没有要处理的事件,将立即返回(非阻塞).

run_one 将阻止调用线程,直到一个事件准备好处理.

你也可以在这里查看一些文档

  • 如果服务已关闭. (3认同)