C++ epoll和boost::asio::io\u上下文之间的区别是什么?

C++ epoll和boost::asio::io\u上下文之间的区别是什么?,c++,boost-asio,epoll,C++,Boost Asio,Epoll,我知道epoll和io_上下文是异步工作的。那么,你能告诉我这两者的区别吗 您是否在asio::io_上下文中使用epoll?POSIX为我们提供了一套实用程序,用于调度事件和监视文件描述符上的活动。其中一个实用程序是epoll() Boost ASIO还为我们提供了一套实用程序,用于调度事件和监视文件描述符上的活动io_context就是它听起来的样子:对某些I/O操作的上下文排序的“句柄”。通过io\u上下文可以poll()进行活动(以及其他内容) 它们是(在这个比较中)基本相似任务的两个不

我知道epoll和io_上下文是异步工作的。那么,你能告诉我这两者的区别吗


您是否在asio::io_上下文中使用epoll?

POSIX为我们提供了一套实用程序,用于调度事件和监视文件描述符上的活动。其中一个实用程序是
epoll()

Boost ASIO还为我们提供了一套实用程序,用于调度事件和监视文件描述符上的活动
io_context
就是它听起来的样子:对某些I/O操作的上下文排序的“句柄”。通过
io\u上下文
可以
poll()
进行活动(以及其他内容)

它们是(在这个比较中)基本相似任务的两个不同接口。然而,boostasio是一种抽象。无论它是在引擎盖下使用
epoll()
来实现它的魔力,都不是我们真正需要或应该关心的事情,但在POSIX系统上确实有可能这样做。在Windows系统上,它可能会委托给操作系统提供的其他东西

一个学派认为跨平台抽象总是有帮助的,因此Boost ASIO技术是联网的好选择。另一方面,一些人发现旧的POSIX实用程序更简单,阅读代码的其他程序员也更熟悉(只要目标平台支持);它们也不要求您发送依赖项。与任何事情一样,由您决定哪一个最适合您的用例和受众