浅谈BIO、NIO、AIO,一些感悟

假如想象 提交于 2020-09-29 16:39:33

浅谈BIO、NIO、AIO,一些感悟
用了io这么久,有没有真正的理解了,比如BIO、NIO、AIO是什么,能够在什么场景用到?
BIO是同步阻塞IO,就是传统io,处理方式简单,一次只能读取一个字节流,并发能力低。同步非阻塞,就是咱们干一件事情,比如排队买面包,在买面包的过程中,不能做其他的事情,买完之后才能离开。可以使用在并发要求不高的服务中,但程序简单直观。
NIO是同步非阻塞io,是传统io的升级,客户端和服务端通过Channel通讯,实现了多路复用的情况。同步非阻塞,就是咱们干一件事情,比如排队买面包,在买面包的过程中,通过买票等待,等待的过程中还可以干其他的事情,但是不能离开买面包的地方。可以应用在聊天服务器,多个线程并发短连接的场景,成熟框架netty,使用netty框架解决了jdk的nio空轮询的问题.
AIO是异步非阻塞io,是NIO的升级,也叫NIO2,异步的io操作是基于事件和回调机制,可以使用在多线程长连接的创建,比如相册服务器,服务段了,会有一个长连接不断轮询,进行信息同步。



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!