图解BIO、NIO、AIO、多路复用IO的区别

点击上方“全栈程序员社区”,星标公众号

重磅干货,第一时间送达


作者:扛麻袋的少年

blog.csdn.net/lzb348110175/article/details/98941378

学习之前,我们先来了解一下IO模型:

①同步阻塞IO(Blocking IO):即传统的IO模型。

②同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。

③多路复用IO(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型(Redis单线程为什么速度还那么快,就是因为用了多路复用IO和缓存操作的原因)

④异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非阻塞IO。


图解:

图解BIO、NIO、AIO、多路复用IO的区别
图解BIO、NIO、AIO、多路复用IO的区别
图解BIO、NIO、AIO、多路复用IO的区别
图解BIO、NIO、AIO、多路复用IO的区别

看了这些,你应该对这些IO有了新的认识了吧,那就给我个赞呗^_^

图解BIO、NIO、AIO、多路复用IO的区别

原文始发于微信公众号(全栈程序员社区):图解BIO、NIO、AIO、多路复用IO的区别

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/103162.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号