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

时间:2012-01-04 13:19:30

标签: 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的文档非常稀少。

1 个答案:

答案 0 :(得分:13)

如果没有要处理的事件,

poll_one将立即返回(非阻塞)。

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

您还可以查看一些文档here

相关问题