gpt4 book ai didi

linux - 事件驱动和异步有什么区别?在 epoll 和 AIO 之间?

转载 作者:IT老高 更新时间:2023-10-28 12:37:32 25 4
gpt4 key购买 nike

事件驱动和异步经常被用作同义词。两者有什么区别吗?

另外,epollaio有什么区别?它们如何组合在一起?

最后,我多次读到 Linux 中的 AIO 严重损坏。到底是怎么破的?

谢谢。

最佳答案

事件是实现异步执行的范例之一。但并非所有异步系统都使用事件。那是关于这两者的语义 - 一个是另一个的超实体。

epoll 和 aio 使用不同的比喻:

epoll 是一个阻塞操作(epoll_wait())——你阻塞线程直到某个事件发生,然后你将事件分派(dispatch)到代码中的不同过程/函数/分支。

在 AIO 中,您将回调函数(完成例程)的地址传递给系统,系统会在发生某些事情时调用您的函数。

AIO 的问题是您的回调函数代码运行在系统线程等系统堆栈顶部。您可以想象到一些问题。

关于linux - 事件驱动和异步有什么区别?在 epoll 和 AIO 之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844955/

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