BIONIO 和 AIO 有什么区别?

Posted 冲冲冲冲冲冲!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BIONIO 和 AIO 有什么区别?相关的知识,希望对你有一定的参考价值。

这三者是三个 I/O 的编程模型
BIO 接口设计会直接导致当前线程阻塞。
NIO 的设计不会触发当前线程的阻塞。
AIO 为 I/O 提供了异步能力,也就是将 I/O 的响应程序放到一个独立的时间线上去执行。但是通常 AIO 的提供者还会提供异步编程模型,就是实现一种对异步计算封装的数据结构,并且提供将异步计算同步回主线的能力。

通常情况下,这 3 种 API 都会伴随 I/O 多路复用。如果底层用红黑树管理注册的文件描述符和事件,可以在很小的开销内由内核将 I/O 消息发送给指定的线程。另外,还可以用 DMA,内存映射等方式优化 I/O。

以上是关于BIONIO 和 AIO 有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

BIONIO和AIO

基础 | BIONIO与AIO

Java中的BIONIO和AIO

一文理解BIONIO与AIO

Java BIONIO与AIO的介绍(学习过程)

BIO,NIO,AIO 有什么区别?