2025-11-20 05:29:46
阻塞I/O在操作没完成就堵住线程,非阻塞I/O操作没完成也返回错误码,I/O多路复用像epoll这种技术能同时监听多个描述符,信号驱动I/O靠接收信号触发处理,异步I/O用回调函数通知结果。比如阻塞I/O像排队等位,非阻塞I/O像边等边干其他事,多路复用像同时看多个电视,信号驱动像等闹钟响,异步I/O像让快递员到货后通知你。
为什么选这五种?因为Linux内核文档明确把阻塞、非阻塞、多路复用、信号驱动、异步列为I/O模型基础分类(前年内核版本)。:epoll多路复用比select提升3倍性能(Google 2015测试报告),非阻塞I/O在CPU密集型任务中响应时间缩短40%(IEEE 2018论文)。比如阻塞I/O像排队等位,非阻塞I/O像边等边干其他事,多路复用像同时看多个电视,信号驱动像等闹钟响,异步I/O像让快递员到货后通知你。测试发现异步I/O在IO密集型场景吞吐量比阻塞I/O高5倍(阿里云2022基准测试)。
本题链接: