From e9eb5d431a90f7ecd45ac19f4620fc0c7cdfbc9e Mon Sep 17 00:00:00 2001 From: Chijun Sima Date: Sun, 15 Apr 2018 19:40:53 +0800 Subject: [PATCH] =?UTF-8?q?=20[FIX]=20=E4=BF=AE=E5=A4=8D=E4=BA=86linux.md?= =?UTF-8?q?=E4=B8=AD=E5=85=B3=E4=BA=8Eselect/poll/epoll/=E5=BC=82=E6=AD=A5?= =?UTF-8?q?I/O=E7=9A=84=E9=94=99=E8=AF=AF=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Linux.md | 10 ++-------- pics/54cb3f21-485b-4159-8bf5-dcde1c4d4c36.png | Bin 8192 -> 19909 bytes pics/dbc5c9f1-c13c-4d06-86ba-7cc949eb4c8f.jpg | Bin 38912 -> 0 bytes 3 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 pics/dbc5c9f1-c13c-4d06-86ba-7cc949eb4c8f.jpg diff --git a/notes/Linux.md b/notes/Linux.md index 6c38a0fb..5db6d33d 100644 --- a/notes/Linux.md +++ b/notes/Linux.md @@ -1168,13 +1168,7 @@ I/O Multiplexing 又被称为 Event Driven I/O,它可以让单个进程具有

-### 3. 异步-阻塞 - -这是 I/O 复用使用的一种模式,通过使用 select,它可以监听多个 I/O 事件,当这些事件至少有一个发生时,用户程序会收到通知。 - -

- -### 4. 异步-非阻塞 +### 3. 异步 该模式下,I/O 操作会立即返回,之后可以处理其它操作,并且在 I/O 完成时会收到一个通知,此时会中断正在处理的操作,然后继续之前的操作。 @@ -1380,7 +1374,7 @@ poll 和 select 在速度上都很慢。 几乎所有的系统都支持 select,但是只有比较新的系统支持 poll。 -## eopll 工作模式 +## epoll 工作模式 epoll_event 有两种触发模式:LT(level trigger)和 ET(edge trigger)。 diff --git a/pics/54cb3f21-485b-4159-8bf5-dcde1c4d4c36.png b/pics/54cb3f21-485b-4159-8bf5-dcde1c4d4c36.png index 3a69d2ce8cfcd5040e42fa444a499ab0e8d2af40..cabb668545bb098c3c9267443381e389b5b32fdd 100644 GIT binary patch literal 19909 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

7oVrMCAR!k%;x1dBB_A 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 B`nLc8 literal 8192 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 SGX2o+*M>hYc>jg>|Nj8f^yQlX