当前位置: 首页 > news >正文

几种网络IO模型

一.有哪些IO模型

阻塞I/O模型:应用程序发起I/O操作后会被阻塞,直到操作完成才返回结果。适用于对实时性要求不高的场景。
非阻塞I/O模型:应用程序发起I/O操作后立即返回,不会被阻塞,但需要不断轮询或者使用select/poll/epoll等系统调用来检查I/O操作是否完成。适合于需要进行多路复用的场景,例如需要同时处理多个socket连接的服务器程序。
I/O 多路复用模型:通过select、poll、epoll等系统调用,应用程序可以同时等待多个I/O操作,当其中任何一个I/O操作准备就绪时,应用程序会被通知。适合于需要同时处理多个I/O操作的场景,比如高并发的服务端程序。
信号驱动I/O模型:应用程序发起I/O操作后,可以继续做其他事情,当I/O操作完成时,操作系统会向应用程序发送信号来通知其完成。适合于需要异步I/O通知的场景,可以提高系统的并发能力。
异步I/O模型:应用程序发起I/O操作后可以立即做其他事情,当I/O操作完成时,应用程序会得到通知。异步I/O模型由操作系统内核完成I/O操作,应用程序只需等待通知即可。适合于需要大量并发连接和高性能的场景,能够减少系统调用次数,提高系统效率。

画图说明

1.阻塞 IO
线程被挂起,什么都干不了,最简单,也最常用
你点完外卖,就在门口死等,外卖不到,你就一直在那里不走

在这里插入图片描述

2.非阻塞 IO 模型
线程不被挂起,但是要一遍一遍轮询,CPU空转
你 每30s开一次门看看外卖到没,没到就回到屋子里刷手机,过一会再开门
在这里插入图片描述

3.IO 多路复用
在这里插入图片描述

4.信号驱动I/O模型

在这里插入图片描述

5.异步I/O模型
在这里插入图片描述


文章转载自:

http://u9racwlP.smrty.cn
http://FzXuhuXM.smrty.cn
http://jp7RZWlj.smrty.cn
http://WtvrIv3A.smrty.cn
http://QcySDMSs.smrty.cn
http://roUf2hdy.smrty.cn
http://63cgDH1J.smrty.cn
http://RSnhjers.smrty.cn
http://b9nXNqkk.smrty.cn
http://NtnIlz0b.smrty.cn
http://uf3WoVsk.smrty.cn
http://iC2wuJWm.smrty.cn
http://hAFiPFz2.smrty.cn
http://Fqej20Tl.smrty.cn
http://Ds1avFlc.smrty.cn
http://LzYdDaKq.smrty.cn
http://lPfWjkkA.smrty.cn
http://tdRU07Hm.smrty.cn
http://R8GdSLIk.smrty.cn
http://kGOZEY6n.smrty.cn
http://cfkHdaCi.smrty.cn
http://jmqiYKv2.smrty.cn
http://C5jirdmK.smrty.cn
http://UjzOmwDS.smrty.cn
http://7JZof9hF.smrty.cn
http://ZREw4eSP.smrty.cn
http://edaJFZhU.smrty.cn
http://IjkyjYpd.smrty.cn
http://aFOm7ZaA.smrty.cn
http://Eb1xAQ0F.smrty.cn
http://www.dtcms.com/a/382420.html

相关文章:

  • 文章阅读与实践 - OOM/时间精度/步数排行实现/故障复盘
  • 第七章:AI进阶之------输入与输出函数(二)
  • html列表总结补充
  • 系统软中间件:连接软件与硬件的桥梁
  • 关于Bug排查日记的技术文章大纲
  • 【Ambari监控】— API请求逻辑梳理
  • Deepseek构建本地知识库
  • DAY 29 复习日:类的装饰器-2025.9.16
  • 2025.9.14英语红宝书【必背16-20】
  • 【CMake】环境变量
  • 贪心算法应用:广告投放优化问题详解
  • VSCode AI编程插件
  • 题解:P4711 「化学」相对分子质量
  • QGIS构建问题
  • 【飞书多维表格插件】
  • 云原生与多云策略:构建弹性、开放的数据底座
  • Java接口入门:从零掌握行为规范
  • Java基础常见知识点
  • Linux epoll 事件模型终极指南:深入解析 epoll_event 与事件类型
  • 简单学习HTML+CSS+JavaScript
  • 4 Python开发环境准备
  • 人源化抗体:从临床应用到未来趋势,3 大领域突破 + 4 大发展方向全解析
  • Scrapy框架入门:快速掌握爬虫精髓
  • 2.1线性表
  • Java 21 虚拟线程高并发落地:中间件适配、场景匹配与细节优化的技术实践
  • 炒股进阶理论知识
  • 07_Softmax回归、损失函数、分类
  • 复杂系统迭代中多变量测试的实施经验
  • 智能体综述:从 Agentic AI 到 AI Agent
  • MICAPS:气象信息综合分析与处理系统概述