关于I/O模型的文章比较多,参考多篇后理解上仍然不太满意,终需自己整理一次,也是编写高吞吐量高性能网络接口模块的基础.这里所说的主要针对网络I/O,近几年面对越来越大的用户请求量,如何优化这些步骤直接影响接口用户体验. 一.前言 I/O模型有几个名词的解释 (比较容易混淆): 阻塞与非阻塞:区别在于调用函数时,是否立即返回还是让线程等待.阻塞模型需要等待操作完成,而非阻塞模型则是立即返回(未准备好则返回一个错误码). 同步与非同步:区别在于网络数据从内核拷贝到用户空间时是否需要用户线程参与等待.