基本介绍
1.JDK7 引入了 Asynchronous IO,即AIO,在进行IO编程中,常用到两种模式 Reactor和Proactor,java的NIO就是Reactor,当有事件触发时,服务器端得到通知,进行相应的处理
2.AIO即NIO2.0,即异步不阻塞IO,AIO引入异步通道的概念,采用了Proactor模式,简化了程序编写,有效的请求才启动线程,它的特点是先由操作系统完成后才通知服务端程序启动线程去处理,一般适用于连接数较多且连接事件比较长的应用
BIO、NIO、AIO对比
举例说明
1.同步阻塞:到理发店理发,一直等待理发师,知道轮到自己理发
2.同步非阻塞:到理发店理发,发现前面有其他人理发,给理发师说下,先干其他事情,一会再看是否轮到自己
3.异步非阻塞:给理发师打电话,让理发师上门服务,自己干其他的事情,理发师来家里面给你理发