diff --git a/docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md b/docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md index ab8e8a1..b99a5ac 100644 --- a/docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md +++ b/docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md @@ -8,10 +8,10 @@ Java中将输入输出抽象称为流,就好像水管,将两个容器连接 每个流只能是输入流或输出流的一种,不能同时具备两个功能,输入流只能进行读操作,对输出流只能进行写操作。在一个数据传输通道中,如果既要写入数据,又要读取数据,则要分别提供两个流。 #### 2、IO模型 -五种IO模型包括:阻塞IO、非阻塞IO、信号驱动IO、IO多路转接、异步IO。其中,前四个被称为同步IO。在网络环境下,可以将IO分为两步: -1.等; +五种IO模型包括:阻塞IO、非阻塞IO、信号驱动IO、IO多路复用、异步IO。其中,前四个被称为同步IO。在网络环境下,可以将IO分为两步: +1.等待数据到来; 2.数据搬迁。 -所以,如果要想提高IO效率,需要降低等待的时间。 +在互联网应用中,IO线程大多被阻塞在等待数据的过程中,所以,如果要想提高IO效率,需要降低等待的时间。 ##### 2.1 阻塞IO(Blocking I/O) 在内核将数据准备好之前,系统调用会一直等待所有的套接字(Socket),默认的是阻塞方式。