linux IO多路复用 select poll epoll
1.linux socket地址2.linux IP 地址转换3.linux TCP 通信流程 套接字函数 socket() bind() listen() accept() connect()4.linux TCP通信实现 服务器端 - 客户端5.linux TCP 三次握手6.linux TCP滑动窗口 四次挥手7.linux 多进程实现并发服务器 多线程并发8.linux TCP状态转换 半关闭 shutdown netstat 端口复用 setsockopt
9.linux IO多路复用 select poll epoll
10.linux 多路复用---poll11.linux 多路复用---epoll12.linux UDP 通信13.linux 本地套接字通信14.linux Web服务器以及HTTP协议15.linux 服务器编程基本框架和两种高效事件的处理模式16.linux 线程池 EPOLLONESHOT事件I/O多路复用(I/O多路转接)***
***I/O多路复用使得程序能同时监听多个文件描述符,能够提高程序的性能***,Linux下实现的 I/O 多路复用的系统调用主要有 select、poll 和 epoll。
输入指的是程序数据写入到内存中 从内存读取到文件中是输出
I/O指的是对两端(客户端、服务器端) 读写缓冲区的操作
阻塞等待:
优点:不占用 CPU 宝贵的时间片
缺点:同一时刻只能处理一个操作,效率低
多线程或者多进程:
优点:解决并发情况
缺点:1. 线程或进程会消耗资源 2. 线程或进程调度消耗CPU资源
BIO模型:accept、read会阻塞
非阻塞,忙轮询
NIO模型:多用户需要重复调用,循环内 O(n)系统调用
I/O多路转接技术: select/poll
epoll:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了