Hwa*_*n E 4 c++ epoll boost-asio
我知道 epoll 和 io_context 异步工作。那么,您能告诉我两者有什么区别吗?
你在 asio::io_context 中使用 epoll 吗?
POSIX 为我们提供了一套实用程序,可用于调度事件和监视文件描述符上的活动。这些实用程序之一是epoll().
Boost ASIO 还为我们提供了一套实用程序,可用于调度事件和监视文件描述符上的活动。io_context顾名思义,它是一些 I/O 操作上下文的“句柄”。通过io_context您可以poll()进行活动(除其他外)。
它们是两个不同的接口,用于(在本次比较中)基本相似的任务。然而,Boost ASIO 是一个抽象概念。它是否epoll()在幕后使用来实现它的魔力并不是我们真正需要或应该关心的事情,但它肯定有可能在 POSIX 系统上这样做。在 Windows 系统上,它可能会委托给操作系统提供的其他内容。
一种思想流派认为跨平台抽象总是有帮助的,因此 Boost ASIO 技术是网络的不错选择。另一方面,有些人发现旧的 POSIX 实用程序更简单,并且对于其他阅读其代码的程序员来说更熟悉(只要他们的目标平台支持它们);他们也不要求您发送依赖项。与任何事情一样,您可以决定哪一个最适合您的用例和受众。
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |