Skip to content

Commit 3973ee5

Browse files
authored
Merge pull request #2694 from blueair5/zgw-main-IO
关于同步非阻塞 IO 增加一点说明
2 parents aff05c9 + 7624c66 commit 3973ee5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

docs/java/io/io-model.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ Java 中的 NIO 可以看作是 **I/O 多路复用模型**。也有很多人认
8787

8888
相比于同步阻塞 IO 模型,同步非阻塞 IO 模型确实有了很大改进。通过轮询操作,避免了一直阻塞。
8989

90+
> 同步非阻塞 IO,发起一个 read 调用,如果数据没有准备好,这个时候应用程序可以不阻塞等待,而是切换去做一些小的计算任务,然后很快回来继续发起 read 调用,也就是轮询。这个
91+
> 轮询不是持续不断发起的,会有间隙, 这个间隙的利用就是同步非阻塞 IO 比同步阻塞 IO 高效的地方。
92+
9093
但是,这种 IO 模型同样存在问题:**应用程序不断进行 I/O 系统调用轮询数据是否已经准备好的过程是十分消耗 CPU 资源的。**
9194

9295
这个时候,**I/O 多路复用模型** 就上场了。

0 commit comments

Comments
 (0)