Basis - I/O 模型

wangyuzhen

概念理解

同步与异步

多个任务和事件发生时,一个事件的发生或执行是否会导致整个流程的暂时等待。

阻塞与非阻塞

当请求一个操作时,如果条件不满足,是会一直等待还是返回一个标志信息。

同步 I/O 与异步 I/O

数据拷贝阶段是由用户线程完成还是内核完成(必须要有操作系统的底层支持)。

阻塞 I/O 与非阻塞 I/O

在数据未就绪的情况下,是返回一个标志位还是一直等待。

I/O 模型

阻塞 I/O 模型

非阻塞 I/O 模型

多路复用 I/O 模型

Java NIO 属于这一种,使用 select() 去查询每个通道是否有到达事件,没有事件则阻塞。

信号驱动 I/O 模型

异步 I/O 模型

参考

文档信息

  • 本文作者:王玉镇wangyuzhen
  • 本文链接:https://wangyuzhen666.github.io//wiki/basis-os-io/
  • 版权声明:Creative Commons 4.0 传播此文章时,您需要遵守知识共享协议。 署名(BY)&非商业性(NC)&相同方式共享(SA)------------------------------- When disseminating this article, you need to adhere to a Creative Commons license. Attribution (BY) & Non-Commercial (NC) & Shareby Manner (SA) .(Creative Commons 4.0

Search

    Table of Contents