【高级IO总结】深度探索高级IO:五种IO模型、高级IO、Select、Poll、Epoll工作模式
文章目录
- 前言
- 文章链接
前言
IO 是 “Input/Output”(输入/输出) 的缩写,指的是计算机系统与外部世界之间的数据传输和交换过程。
网络通信的本质就是:IO
总体来说,IO的效率是相对较低的,为什么?—— 以读取为例
- 当我们在进行
read / recv
时:- 当底层缓冲区没有数据时 -> 会阻塞,只能等待
- 当底层缓冲区有数据时 -> 进行拷贝
我们可以粗略的认为:IO = 等待 + 数据拷贝(这两个因素的组合决定了整体 IO 操作的效率和性能)
自然在单位时间内,等待的时间比重越小,则IO效率越高
文章链接
- 五种IO模型 & 高级IO的重要概念
【高级IO-1】探索五种 I/O 模型及其高级I/O技术:基于 fcntl() 的代码应用
- I/O 多路转接:select
【高级IO-2】IO多路转接之Select(概念及代码实例)
- I/O 多路转接:poll
【高级IO-3】I/O多路转接 之 poll【概念及代码实例】
- I/O 多路转接:poll
【高级IO-4】I/O多路转接 之 epoll(概念及代码实例)