gpt4 book ai didi

c++ - 如何在 boost::asio 中实现基于 POSIX select() 的行为

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:33 25 4
gpt4 key购买 nike

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

最佳答案

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

您还可以使用 io_service::run_oneio_service::pollio_service::poll_one 代替 io_service::运行

关于c++ - 如何在 boost::asio 中实现基于 POSIX select() 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com