随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

一、Java AIO 基本介绍

  1. JDK 7 引入了 Asynchronous I/O, 即 AIO。 在进行 I/O 编程中,常用到两种模式:Reactor和 Proactor。Java 的 NIO 就是 Reactor,当有事件触发时,服务器端得到通知, 进行相应的处理。

  2. AIO 即 NIO2.0,叫做异步不阻塞的 IO。AIO引入异步通道的概念,采用了 Proactor 模式, 简化了程序编写, 有效的请求才启动线程, 它的特点是先由操作系统完成后才通知服务端程序启动线程去处理, 一般适用于连接数较多且连接时间较长的应用。

  3. 目前 AIO 还没有广泛应用, Netty 也是基于NIO, 而不是AIO, 因此我们就不详解AIO了, 有兴趣的可以参考 <<Java新一代网络编程模型AIO原理及Linux系统AIO介绍>> http://www.52im.net/thread-306-1-1.html

二、BIO、NIO、AIO 对比表

举例说明

  1. 同步阻塞:到理发店理发,就一直等理发师,直到轮到自己理发。
  2. 同步非阻塞:到理发店理发,发现前面有其它人理发,给理发师说下, 先干其他事情,一会过来看是否轮到自己.
  3. 异步非阻塞: 给理发师打电话,让理发师上门服务,自己干其它事情,理发师自己来家给你理发

 

posted on   格物致知_Tony  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
点击右上角即可分享
微信分享提示

目录导航