0
点赞
收藏
分享

微信扫一扫

BIO和NIO区别

上一篇 <<<Linux系统的五种IO模型
下一篇 >>>BIO模型的缺陷


阻塞式io与非阻塞式io的区别

对比项 BIO NIO
概念 阻塞式(Blocking IO) 非阻塞式(Non blocking IO)
特点 当我们没有获取到数据的时候,整个应用程序会实现阻塞等待,不能实现做其他的事情。 不管是否有获取到数据,都必须立马获取到结果,如果没有获取数据的情况下,就会不断的重试获取数据
性能 面向流(Stream oriented),按字节流读取,效率较低 面向缓冲区(Buffer oriented),每次读取一整块,效率较高
历史 一开始就有 Jdk1.4版本之后推出,支持了面向缓冲区、基于通道实现的io的方案
亮点 选择器(Selectors)—多路复用机制
场景 悲观锁 Cas(自旋锁)和乐观锁

推荐阅读:
<<<OSI七层模型与层上协议
<<<TCP的三次握手建立链接和四次挥手释放链接
<<<TCP、UDP及Socket代码示例
<<<Https的1.0、2.0协议及长短链接区别
<<<Linux系统的五种IO模型
<<<BIO模型的缺陷
<<<NIO模式的IO多路复用底层原理
<<<select、poll、epoll的区别
<<<Redis为什么单线程能够支持高并发
<<<Netty初识
<<<Netty的粘包和拆包问题分析
<<<粘包和拆包问题解决方案汇总
<<<序列化与反序列化知识点汇总
<<<MessagePack反序列化使用示例
<<<Marshalling在Netty中的使用

举报

相关推荐

0 条评论