gpt4 book ai didi

c++ - 为什么要使用 io_service::work?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:26 24 4
gpt4 key购买 nike

我是 boost 编程的新手,我一直在寻找使用 io_service::work 的理由,但我想不通;在我的一些测试中,我删除了它并且工作正常。

最佳答案

只要有异步操作要执行,io_service::run() 就会运行操作。在任何时候,如果没有未决的异步操作(或正在调用的处理程序),run() 调用将返回。

但是,有些设计更希望 run() 调用在所有工作完成并且 io_service 已明确指示可以导出。这就是 io_service::work 的用途。通过创建 work 对象(我通常在堆和一个 shared_ptr 上进行),io_service 认为自己总是有待处理的东西,因此 run() 方法将不返回。一旦我希望服务能够退出(通常在关闭期间),我将销毁工作对象。

关于c++ - 为什么要使用 io_service::work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219296/

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