当前位置:  开发笔记 > 编程语言 > 正文

io_service,为什么以及如何使用它?

如何解决《io_service,为什么以及如何使用它?》经验,为你挑选了1个好方法。

试着学习asio,我正在关注网站上的例子.

为什么需要io_service,它究竟做了什么?为什么我需要在执行异步操作时将其发送到几乎所有其他函数,为什么它不能在第一次"绑定"后"创建"自身.



1> Edu Felipe..:

Asio io_service是操作异步函数的辅助工具.一旦异步操作准备就绪,它就会使用其中一个io_service正在运行的线程给你回电.如果不存在这样的线程,它使用自己的内部线程来呼叫你.

将其视为包含操作的队列.它保证了这些操作在运行时只会在调用它run()run_once()方法的线程上执行,或者在处理套接字和异步IO时,它的内部线程.

您必须将其传递给每个人的原因基本上是有人必须等待异步操作准备就绪,并且如其自己的文档中所述io_service是ASIO到操作系统的I/O服务的链接,因此它抽象出平台自己的异步通知程序,如kqueue,/dev/pool/,epoll,和在那些操作的方法,如select().

主要是我最终使用io_service从系统的几个部分解复用回调,并确保它们在同一个线程上运行,从而无需显式锁定,因为操作是序列化的.它是异步应用程序非常强大的习惯用语.

您可以查看核心文档,以更好地了解io_service需要的原因和工作原理.


`首先,我最终使用io_service从系统的几个部分解复用回调,并确保它们在同一个线程上运行,(...)`你能详细说明一下这个成语吗?
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有