【发布时间】:2009-05-26 10:45:54
【问题描述】:
我已经浪费了两天时间阅读 boost::asio 的文档
而且我仍然不知道如何仅使用一个线程(使用boost框架)为多个套接字实现阻塞select()之类的功能。
boost::asio 的异步函数立即返回,因此需要在主线程中放置一些等待函数,直到 async_read 之一完成。
我怀疑这会很耗时,但我确实受到性能要求的限制。
【问题讨论】:
标签: c++
我已经浪费了两天时间阅读 boost::asio 的文档
而且我仍然不知道如何仅使用一个线程(使用boost框架)为多个套接字实现阻塞select()之类的功能。
boost::asio 的异步函数立即返回,因此需要在主线程中放置一些等待函数,直到 async_read 之一完成。
我怀疑这会很耗时,但我确实受到性能要求的限制。
【问题讨论】:
标签: c++
io_service 对象是select 函数的抽象。设置您的套接字,然后从您的主线程调用io_service::run 成员函数。 io_service::run 函数将阻塞,直到与io_service 实例相关的所有工作完成。您可以在异步处理程序中安排更多工作。
您也可以使用io_service::run_one、io_service::poll 或io_service::poll_one 代替io_service::run。
【讨论】: