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

    科技2025-02-25  36

    作者:扛麻袋的少年

    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。


    图解:

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

    琐碎时间想看一些技术文章,可以去公众号菜单栏翻一翻我分类好的内容,应该对部分童鞋有帮助。同时看的过程中发现问题欢迎留言指出,不胜感谢~。另外,有想多了解哪些方面内容的可以留言(什么时候,哪篇文章下留言都行),附菜单栏截图(PS:很多人不知道公众号菜单栏是什么)

    END

    我知道你 “在看” Java知音_ 认证博客专家 Java知音 欢迎微信搜索【Java知音】关注我的公众号,号内回复“后端面试”,送你一份精心准备的Java面试题(提纲+解析),Java知音每天推送精选好文,已经有十几万开发者关注,欢迎加入我们,共同交流,纠错
    Processed: 0.013, SQL: 8