I/O多路复用,我觉得其实是一种机制,相比于之前的多进程,多线程来处理连接请求后的相关操作,I/O多路复用则可以一个进程或者一个线程去完成对这些I/O请求的操作,使得内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。
它的优点就是:与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。

IO复用应用的场合:

(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。

(2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。

(3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。

(4)如果一个服务器即要处理TCP,又要处理UDP,一般要使用I/O复用。

(5)如果一个服务器要处理多个服务或多个协议,一般要使用I/O复用。

IO多路复用是什么?相关推荐

  1. 漫谈五种IO模型(主讲IO多路复用)

    首先引用levin的回答让我们理清楚五种IO模型 1.阻塞I/O模型 老李去火车站买票,排队三天买到一张退票. 耗费:在车站吃喝拉撒睡 3天,其他事一件没干. 2.非阻塞I/O模型 老李去火车站买票, ...

  2. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  3. 聊一个不常见的面试题:为什么数据库连接池不采用 IO 多路复用?

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为是非常 ...

  4. 为什么数据库连接池不采用 IO 多路复用?

    欢迎关注方志朋的博客,回复"666"获面试宝典 接着,今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为 ...

  5. Linux IO多路复用之Select简史

    内容目录 前言早期的UnixTCP/IP诞生后终端复用套接字章节回顾结论引用 前言 最近我一直在思考 Linux 中的多路复用,即 epoll(7)[1]系统调用.我很好奇 epoll与Windows ...

  6. 为什么数据库连接池不采用IO多路复用?

    文章来源:https://sourl.cn/q8fbw3 今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为是非常好的性能助 ...

  7. 【NIO】IO多路复用

    上节,我们讲解了阻塞和非阻塞,我们今天讲第三种IO模型,这就是IO多路复用. 引入多路复用的原因 实际上,在服务端与客户端一对一通信的时候,同步阻塞式地读写并不会有太大的问题,最典型的就是两个对等机器 ...

  8. IO模式和IO多路复用

    前言 前天看redis相关的博文里面提到了epoll,就搜了一下,发现这篇文章 Linux IO模式及 select.poll.epoll详解,讲的很好,收获很大.这里根据自己的理解总结一下. IO模 ...

  9. IO多路复用之poll

    1.基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制.poll和selec ...

  10. 理解操作系统IO多路复用

    在讲解IO多路复用之前,我们需要预习一下文件以及文件描述符. 什么是文件 程序员使用I/O最终都逃不过文件. 因为这篇同属于高性能.高并发系列,讲到高性能.高并发就离不开Linux/Unix,因此这里 ...

最新文章

  1. 【讲师团招募令】14场线上万人社区大会 邀你来分享
  2. MyEclipse+Tomcat部署发布webapp
  3. 无密码进去mysql_技术分享 | 安全地无密码登录 MySQL
  4. 自动机器学习(AutoML)最新综述
  5. 全国计算机等级考试题库二级C操作题100套(第01套)
  6. Manacher 例题讲解
  7. java中装饰器_Java设计模式12:装饰器模式
  8. springmvc resources 配置
  9. 初探EntityFramework——空Code First模型
  10. elasticsearch安装bigdest插件
  11. Thinking in Java Reading Note(5.初始化与清理)
  12. 查询出两个表中不同的数据
  13. java计算机毕业设计教务排课系统MyBatis+系统+LW文档+源码+调试部署
  14. CNKI E-Study与Endnote 的参考文献题录互导
  15. 春运火车票抢票浏览器强力推荐,秒抢车票到手
  16. android中服务播放音乐,android中用Service播放音乐
  17. 入门学习Linux常用必会命令实例详解
  18. 【win10】开始菜单输cmd、运行、控制面板后点击无反应,win+x无反应,开始菜单右键无反应
  19. 相关系数如何计算,举例说明
  20. JRtplib开发笔记(四):JRtplib的VS开发环境搭建以及Demo

热门文章

  1. OpenStack发布最新版本Ocata
  2. 【Node核心模块HTTP】
  3. 使用RunTime添加动态方法、方法交换、获取所有属性来重写归档解档
  4. Exchange Server 2013 DAG高可用部署(三)-服务器角色安装
  5. win7如何打开防火墙某个端口的tcp连接
  6. Java中long和Long有什么区别
  7. pxe方式安装gentoo
  8. Asp.net MVC3.0 入门指南 7.1 展示查找页面
  9. B3log Solo 0.2.5.1 发布了!
  10. 什么是计算机网络?—Vecloud微云