其他分享
首页 > 其他分享> > IO模型

IO模型

作者:互联网

IO模型主要分为同步阻塞和同步不阻塞io模型。同步阻塞的是BIO,同步不阻塞的有NIO,AIO,NIO优化了BIO模型中线程多,cpu开销大的问题,AIO解决了NIO编程复杂度的问题,但由于AIO出现的时间晚,较NIO普及度不高。除此之外,还有基于NIO实现的Netty的第三方通信框架。

1. BIO

像我们最先开始学习的socket编程就属于BIO模型。

特点:程序直观,简单,易理解。

架构图:

2. NIO

nio在acceptor和线程的交互中增加了用于读写的Channel通道和用于监听Channel的Selector线程,通过把Channel注册到Selector,Selector便可以实现对Channel的监听和轮询。

nio采用Reactor模式来实现IO操作,Reactor模式是IO多路复用技术的一种常见模式,主要用于同步io.

理解和学会使用Selector是NIO的关键。

架构图:

3. AIO

AIO相对于NIO来说,编程上更加简单,采用了Proactor模式实现IO操作。普及度较NIO低。

 

标签:BIO,NIO,模型,Selector,AIO,IO,Channel
来源: https://www.cnblogs.com/iknow-manage/p/15740192.html