From 47ad18368f90e861dc98295b39bb7e768d7d0b59 Mon Sep 17 00:00:00 2001 From: AmyliaY <35298395+AmyliaY@users.noreply.github.com> Date: Tue, 10 Mar 2020 20:12:27 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=8A=8A=E8=A2=AB=E8=AF=B4=E7=83=82?= =?UTF-8?q?=E7=9A=84BIO=E3=80=81NIO=E3=80=81AIO=E5=86=8D=E4=BB=8E=E5=A4=B4?= =?UTF-8?q?=E5=88=B0=E5=B0=BE=E6=89=AF=E4=B8=80=E9=81=8D.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...被说烂的BIO、NIO、AIO再从头到尾扯一遍.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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),默认的是阻塞方式。