提升asio运行与工作(歧义) - 工人阶级的目的是什么?

问题描述 投票:1回答:1

正如您在此示例udp server中所看到的,run方法将使应用程序永远运行。 (测试)

因此,不需要使用文档中提到的工作类

来自boost文档:工作类用于在工作开始和结束时通知io_service。这可以确保io_service对象的run()函数在工作正在进行时不会退出,并且在没有剩余未完成的工作时它会退出。

c++ boost boost-asio
1个回答
3
投票

work类已被弃用,已被executor_work_guard取代。其目的已在documentation中解释:

某些应用程序可能需要阻止io_context对象的run()调用在没有其他工作要做时返回。例如,io_context可能正在应用程序异步操作之前启动的后台线程中运行。可以通过创建run()类型的对象来保持boost::asio::executor_work_guard<io_context::executor_type>调用[...]

© www.soinside.com 2019 - 2024. All rights reserved.