【发布时间】:2012-01-04 13:19:29
【问题描述】:
io_service::poll_one 运行 io_service 对象的事件处理循环 执行一个就绪处理程序。
对
io_service::run_one 运行 io_service 对象的事件处理循环 最多执行一个处理程序。
从那个解释看来 poll_one 可以执行多个处理程序? run_one 或 poll_one 是使用任何调用 run() 的线程还是只使用调用 poll_one/run_one 的线程?
ASIO 的文档非常少。
【问题讨论】:
-
一个执行一个 READY 处理程序,另一个执行一个处理程序(准备好与否)。
-
好的,READY 处理程序和非 READY 处理程序有什么区别?
-
如果您有一个套接字并且处理程序的工作是从中读取一些内容,那么就绪处理程序就是附加到非空套接字的处理程序(因此您不必等待数据来源于网络)
-
那么你想什么时候执行一个未就绪的处理程序?
-
这取决于手头的应用程序。
标签: c++ boost boost-asio