事件驱动和异步通常用作同义词。两者之间有什么区别吗?
另外,epoll和之间有什么区别aio?它们如何配合在一起?
epoll
aio
最后,我读过很多遍了,Linux中的AIO被严重破坏了。它到底有多坏?
谢谢。
事件是实现异步执行的范例之一。但是,并非所有异步系统都使用事件。那是关于这两个的语义含义-一个是另一个的超实体。
epoll和aio使用不同的隐喻:
epoll是一个阻塞操作(epoll_wait())-阻塞线程直到发生某些事件,然后将事件分派到代码中的不同过程/函数/分支。
epoll_wait()
在AIO中,您将回调函数的地址(完成例程)传递给系统,并且在发生某些情况时系统会调用您的函数。
AIO的问题是您的回调函数代码在系统线程等系统堆栈上运行。您可以想象的一些问题。