【问题标题】:how to implemet POSIX select() based behaviour, within boost::asio如何在 boost::asio 中实现基于 POSIX select() 的行为
【发布时间】:2009-05-26 10:45:54
【问题描述】:

我已经浪费了两天时间阅读 boost::asio 的文档 而且我仍然不知道如何仅使用一个线程(使用boost框架)为多个套接字实现阻塞select()之类的功能。 boost::asio 的异步函数立即返回,因此需要在主线程中放置一些等待函数,直到 async_read 之一完成。 我怀疑这会很耗时,但我确实受到性能要求的限制。

【问题讨论】:

    标签: c++


    【解决方案1】:

    io_service 对象是select 函数的抽象。设置您的套接字,然后从您的主线程调用io_service::run 成员函数。 io_service::run 函数将阻塞,直到与io_service 实例相关的所有工作完成。您可以在异步处理程序中安排更多工作。

    您也可以使用io_service::run_oneio_service::pollio_service::poll_one 代替io_service::run

    【讨论】:

      猜你喜欢
      • 2016-01-07
      • 2021-10-14
      • 2012-07-28
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 2016-01-07
      相关资源
      最近更新 更多