概念理解
同步与异步
多个任务和事件发生时,一个事件的发生或执行是否会导致整个流程的暂时等待。
阻塞与非阻塞
当请求一个操作时,如果条件不满足,是会一直等待还是返回一个标志信息。
同步 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)