Linux 系统为我们提供五种可用的 IO 模型: 阻塞式 IO 模型 非阻塞式 IO 模型 IO 多路复用模型 信号驱动 IO 模型 异步 IO 模型 IO处理过程 在聊IO模型之前,需要先了解一下Linux系统是怎么进行IO处理的: 当某个程序或已存在的进程/线程(后文将不加区分的只认为是进程)需要某段数据时,它只能在用户空间中属于它自己的内存中访问、修改,这段内存暂且称之为app buffer。假设需要的数据在磁盘上,那么进程首先得发起相关系统调用,通知内核去加载磁盘上的文件。但正常情况下,数据只能加载到内核…