事件驱动和异步通常用作同义词.这两者有什么区别吗?
还有,epoll
和aio
之间有什么区别?它们是如何结合在一起的?
最后,我读过很多次,Linux中的AIO被严重 destruct .它到底是怎么坏的?
谢谢
事件驱动和异步通常用作同义词.这两者有什么区别吗?
还有,epoll
和aio
之间有什么区别?它们是如何结合在一起的?
最后,我读过很多次,Linux中的AIO被严重 destruct .它到底是怎么坏的?
谢谢
事件是实现异步执行的范例之一.
epoll和aio使用不同的隐喻:
epoll是一个阻塞操作(epoll_wait()
)——阻塞线程,直到某个事件发生,然后将事件分派到代码中的不同过程/函数/分支.
在AIO中,您将回调函数(完成 routine )的地址传递给系统,系统在发生某些事情时调用您的函数.
AIO的问题是,回调函数代码在系统线程上运行,等等,在系统堆栈的顶部运行.正如你所能想象的那样,这有一些问题.