IO多路复用—前言

I/O多路复用基本思想:

  • 先构造一张有关描述符的表,然后调用一个函数。
  • 当这些文件描述符中的一个或多个已准备好进行I/O时函数才返回。
  • 函数返回时告诉进程哪个描述符已就绪,可以进行I/O操作。

理解:同时对多个文件描述符进行监听,当有文件描述符发生相应的事件的时候,返回这个文件描述符。

实现IO多路复用的方式 ------select poll epoll;

为了用这些函数创建并发服务器!!!

select特点

优点:可跨平台,轻量级;
LINUX,MACOS,Windows都可用

可以同时监听多个文件描述符

缺点:

1.最大监听文件描述符数量1024,最多监听1020个客户

2.每次轮询消耗cpu

3.每次都要拷贝 一次

poll特点

优点:

  1. 优化了监听的文件描述符数量,能监听的文件描述符数取决于数组的大小,数组大小受限于内存。
  2. 不需要每次都重新构建文件描述符表,传入一次即可。

缺点:

需要轮询(只能用在UNIX原生系统下,不支持跨平台)

epoll特点

缺点:

只能跑在Linux

优点:

  1. 不要轮询,以为有异步通知机制在
  2. 不需要每次都拷贝表
  3. 高并发,百万级别
相关推荐
隔振消音专家1 分钟前
冷水机组振动传导影响及专业化减振适配治理方案
大数据·运维
Brilliantwxx3 分钟前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
skywalk81637 分钟前
在FreeBSD的Uubntu兼容环境下安装Reasonix
linux·运维·freebsd
^yi22 分钟前
【Linux系统编程】对操作系统的理解
linux·运维·服务器·操作系统·系统调用·os
Kina_C39 分钟前
LVS-NAT 负载均衡实验从环境搭建到规则持久化
linux·运维·服务器·负载均衡·lvs
Android洋芋1 小时前
PrintFriendly网页文章转PDF插件工具及技术分析
运维·服务器·pdf·网页转pdf
Elastic 中国社区官方博客1 小时前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
大数据·运维·前端·人工智能·elasticsearch·搜索引擎·全文检索
RoboWizard1 小时前
金士顿高速闪存盘 单双接口适配多元存储需求
大数据·运维·人工智能·智能手机·云计算
2601_964702891 小时前
Claude Opus 5 API 开发实战:对话、文本生成与结构化输出
java·服务器·前端
聚焦前沿1 小时前
水动力优化导流罩:原理、数据与实船验证
大数据·服务器·数据库·人工智能