作者:扛麻袋的少年

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

我知道你 “在看”

图解BIO、NIO、AIO、多路复用IO的区别相关推荐

  1. Java的IO流 ,BIO NIO AIO 的区别?

    目录 1.在了解不同的IO之前先了解:同步与异步,阻塞与非阻塞的区别: 2.BIO NIO AIO 分别代表什么?(面试简答): 3.BIO和NIO.AIO的区别: 4.java中io流的分类: •  ...

  2. java io流区别_Java中IO流的分类和BIO,NIO,AIO的区别

    到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...

  3. Java中IO流的分类和BIO,NIO,AIO的区别

    到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...

  4. IO之 java中BIO NIO AIO原理、区别以及应用

    在本篇文章中,我们主要介绍一下java中的BIO NIO AIO,重点是NIO 先说一下同步.异步.阻塞和非阻塞. 简单来讲,同步和异步是针对内核和应用程序之间的交互而言的:阻塞和非阻塞其实是针对进程 ...

  5. IO: BIO ? NIO ? AIO?

    IO的方式通常分为几种,同步阻塞的BIO.同步非阻塞的NIO.异步非阻塞的AIO. 一.BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSock ...

  6. Java常见面试题:BIO,NIO,AIO 有什么区别?

    Java 中 IO 流分为几种? 按功能来分:输入流(input).输出流(output). 按类型来分:字节流和字符流. 字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流 ...

  7. IO模式-BIO,NIO,AIO

    目前常用的3种IO模式:分别是BIO.NIO和AIO. BIO BIO 全称Block-IO 是一种同步且阻塞的通信模式.是一个比较传统的通信方式,模式简单,使用方便.但并发处理能力低,通信耗时,依赖 ...

  8. IO回忆录之怎样过目不忘(BIO/NIO/AIO/Netty)2017版

    有热心的网友加我微信,时不时问我一些技术的或者学习技术的问题.有时候我回微信的时候都是半夜了.但是我很乐意解答他们的问题.因为这些年轻人都是很有上进心的,所以在我心里他们就是很优秀的,我愿意多和努力的 ...

  9. Java的IO:BIO | NIO | AIO

    原文: http://my.oschina.net/bluesky0leon/blog/132361 BIO | NIO | AIO,本身的描述都是在Java语言的基础上的.而描述IO,我们需要从两个 ...

  10. Java IO(BIO, NIO, AIO) 总结

    文章转载自:JavaGuide 目录 BIO,NIO,AIO 总结 同步与异步 阻塞和非阻塞 1. BIO (Blocking I/O) 1.1 传统 BIO 1.2 伪异步 IO 1.3 代码示例 ...

最新文章

  1. 《Python核心编程》第二版第八章练习题答案 第二部分
  2. 每天CookBook之JavaScript-072
  3. 您属于哪个版本的程序员[转]
  4. 龙芯.NET正式发布 开源共享与开发者共成长
  5. computed怎么使用_Vuex 基本使用
  6. 单调队列优化的背包问题
  7. iOS LLDB调试精解
  8. MVC3.0 如何点击点击一张图片连接到另一地址
  9. rstudio 修改代码间距_如何在RStudio里修改R脚本的编码方式
  10. vs2010使用svn--浅谈AnkhSvn
  11. java实现语法分析实验报告_[源码和文档分享]基于JAVA实现的基于LL(1)语法分析构造表...
  12. PHP 处理换行问题
  13. HTML实现个人简历
  14. python课设答辩ppt_学生成绩管理系统答辩幻灯片.ppt
  15. Word双栏右对齐插入MathType公式
  16. [system] Map key not configured.
  17. 一眼看出二叉树中序遍历结果的诀窍
  18. 小程序如何写一个优美的tab选项卡
  19. javascript中数据类型转换为Number
  20. python异常值处理四分位法_Python清除异常值四分位法

热门文章

  1. 华为Mate 30 Pro前面板谍照曝光:继续刘海屏 左右侧边曲率惊人
  2. realme曝光全球首张6400万像素样张 大家品一品?
  3. 靠信用购物!芝麻信用上线新功能:用户可先用后买
  4. 毛谦解读“Pb/s级光传输”:技术的恩惠远不止于此
  5. 35岁程序员惨遭裁员,找了6份兼职,晒出收入网友:“打工皇帝”
  6. 积分图像追踪目标 (一)
  7. c++ 高效解析url算法
  8. rtsp视频解码-分析-转发http-flv ws-flv webrtc
  9. 删除计算机共享信息命令,win10系统使用命令将网络共享删除的操作办法
  10. gitbook使用实录