开发者社区> 问答> 正文

异步IO模型有哪些优缺点?

异步IO模型有哪些优缺点?

展开
收起
松岛菜菜 2021-10-29 15:38:22 920 0
来自:华章出版社
1 条回答
写回答
取消 提交回答
  • 异步IO模型的特点:在内核等待数据和复制数据的两个阶段,用户线程都不是阻塞的。用户线程需要接收内核的IO操作完成的事件,或者用户线程需要注册一个IO操作完成的回调函数。正因为如此,异步IO有的时候也被称为信号驱动IO。

    异步IO异步模型的缺点:应用程序仅需要进行事件的注册与接收,其余的工作都留给了操作系统,也就是说,需要底层内核提供支持。

    理论上来说,异步IO是真正的异步输入输出,它的吞吐量高于IO多路复用模型的吞吐量。 就目前而言,Windows系统下通过IOCP实现了真正的异步IO。而在Linux系统下,异步IO模型在2.6版本才引入,目前并不完善,其底层实现仍使用epoll,与IO多路复用相同,因此在性能上没有明显的优势。

    大多数的高并发服务器端的程序,一般都是基于Linux系统的。因而,目前这类高并发网络应用程序的开发,大多采用IO多路复用模型。

    资料来源:《Netty、Redis、ZooKeeper高并发实战》,文章链接:https://developer.aliyun.com/article/726757

    2021-10-29 15:42:42
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
多线程 立即下载
典型模型-卷积神经网络入门 从概念原理到应用实现 立即下载