NIO-02 NIO和BIO的区别

2023-10-20 11:48:59 浏览数 (2)

模型

BIO 和 NIO 的区别 BIO 好比是通道传输,一来一回 NIO 好比是管道传输,一堆来一堆回。

BIO 模型

代码语言:javascript复制
________                        _________
|       |-----------------------|       |
|       |-----------输入--------|       |
|       |                       |       |
|       |-----------输出--------|       |
|       |-----------------------|       |
|-------|                       |-------|

输入和输出都需要建立一条管道。 也就是说,数据的传输是单向的,出去从输出流通道走,回来从输入流通道走。 面向流,通道传输的是流

NIO 模型

代码语言:javascript复制
_________                       _________
|       |-----------------------|       |
|       |                       |       |
|       |       输入-输出       |       |
|       |                       |       |
|       |-----------------------|       |
|-------|                       |-------|

NIO 的通道没有传输数据的能力,通道的建立,相当于铺了铁路,而数据的传输需要火车。 火车指的就是缓冲区。 火车出发前会装一批人,而不会只装一个人。 火车来回都只用一条通道。 面向缓冲区,将数据装入缓冲区,由缓冲区进行传输。

0 人点赞