目 录CONTENT

文章目录

06_Netty_AIO基本介绍

ByteNews
2019-12-02 / 0 评论 / 0 点赞 / 6,732 阅读 / 528 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-01-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

06_Netty_AIO基本介绍

Java AIO基本介绍

  1. JDK7引入了Asynchronous I/O,即AIO。在进行I/O编程中,常用到两种模式:Reactor和Proactor。Java的NIO就是Reactor,当有事件触发的时候,服务器端得到通知,进行相应的处理;
  2. AIO即NIO 2.0,叫做异步不阻塞的IO。AIO引入异步通道的概念,采用了Proactor模式,简化了程序编写,有效的请求才启动线程。它的特点是先由操作系统完成后才通知服务端程序启动线程去处理,一般适用于连接数较多且连接时间较长的应用;
  3. 目前AIO还没有广泛应用,Netty也是基于NIO,而不是AIO,因此不做详解;可以参考《Java新一代网络编程模型AIO原理及Linux系统AIO介绍》

BIO、NIO、AIO对比

BIONIOAIO
IO模型同步阻塞同步非阻塞(多路复用)异步非阻塞
编程难度简单复杂复杂
可靠性
吞吐量

举例说明:

  1. 同步阻塞:到理发店理发,一直等待理发师,直到轮到自己;
  2. 同步非阻塞:到理发店理发,如果发现前面有其他人,给理发师说自己先去做别的事情,等轮到自己才通知;
  3. 异步非阻塞:给理发师打电话,让理发师上门服务器,其他时间自己干其他事前,直到理发师到了才开始理发;
0

评论区