- 阻塞IO:
- 若资源
没有
准备就绪
,会阻塞等待资源
; - 若资源准备就绪,会
获取
相关资源
; - 特点:
- 在所有的
IO模型
中,阻塞IO是最简单
、最常用
、效率最低
的; - 写阻塞:
- 如
无名管道
、有名管道
等进程间的通信; - 读阻塞:
- 以
管道
为例,具体读阻塞
操作为: - 当进程执行到
读操作
的时候,若缓冲区有内容,则读取内容继续向下执行,若缓冲区没有内容,进程进入休眠态
,直到缓冲区中有内容,由内核唤醒
该进程,来读取缓冲区内容,然后继续向下执行; - 非阻塞IO:
- 若资源
没有
准备就绪
,立即返回错误信息
; - 若资源准备就绪,会
获取
相关资源
; - 特点:
- 在所有的
IO模型
中,进程不会阻塞
、轮询
访问,CPU消耗
较大;
阻塞IO和非阻塞IO的异同
最新推荐文章于 2024-08-23 10:04:22 发布