| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux典型IO模型:阻塞、非阻塞、信号驱动、异步 -> 正文阅读 |
|
[系统运维]Linux典型IO模型:阻塞、非阻塞、信号驱动、异步 |
目录 IO就是输入输出 一、阻塞IO????????为了完成IO发起IO调用,若IO事件没有就绪,则一直等待,直到IO就绪,开始数据拷贝。 优点:流程最为简单,使用复杂度非常低。 缺点:IO效率较低,对资料利用不足。 二、非阻塞IO?????????为了完成IO发起IO调用,若IO事件没有就绪,则调用直接返回(返回后,先进行一些其他任务,之后再重新发起IO调用)。 优点:不等待IO就绪,而是直接立即返回,可以继续对其他描述符进行IO操作,充分利用资源,效率相较于阻塞IO有所提高。 缺点:IO不够实时,且通常需要循环进行操作,增加了一定的复杂度。 三、信号驱动IO? ? ? ? 先定义IO就绪信号处理方式,当收到信号通知,则表示IO就绪,随后发起IO调用,完成IO操作。 优点:效率更高,更加实时,更加充分利用资源(在没有收到IO信号之前,可以进行其他任务处理,收到信号后,再进行IO请求)。 缺点:IO复杂度更高,需要涉及到信号操作。 四、异步IO? ? ? ? 发起IO调用,让系统进行IO就绪等待以及完成数据拷贝,完成后再通过信号通知进程。 注意:
优点:对系统资源利用非常高,效率也是最高。 缺点:流程复杂度也是最高。 五、阻塞VS非阻塞(概念)1.阻塞? ? ? ? 为了完成某个功能,发起一个调用,若功能无法立即完成,则调用不返回一直等待。 2.非阻塞? ? ? ? 为了完成某个功能,发起一个调用,若功能无法立即完成,则报错返回。 3.区别与联系? ? ? ? 阻塞与非阻塞,都是讨论接口特性,表示一个函数在完成某个功能时,若无法立即完成,是否会立即返回。 六、同步VS异步(概念)1.同步
优点:操作流程简单 缺点:效率相较较低 2.异步
优点:对系统资源利用更充分,效率相较更高 缺点:流程较为复杂 3.区别与联系? ? ? ? 同步与异步,都是讨论功能的完成方式,同步表示的是按序由自己完成;异步表示的是非按序由系统完成。 同步:操作流程简单,但效率相较较低。 异步:对系统资源利用更充分,效率相较更高,但流程较为复杂。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 14:31:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |