在讲解IO多路复用之前,我们需要预习一下文件以及文件描述符。 什么是文件 程序员使用I/O最终都逃不过文件。 因为这篇同属于高性能、高并发系列,讲到高性能、高并发就离不开Linux/Unix,因此这里就来讨论一下Linux世界中的文件。 实际上对于程序员来说文件是一个很简单的概念,我们只需要将其理解为一个N byte的序列就可以了: b1, b2, b3, b4, ....... bN 实际上所有的I/O设备都被抽象为了文件这个概念,一切皆文件,Everything isFile,磁盘、网络数据、终端,甚至进程间通信工具管道pipe等都被当做文件对待。 所有的I/O操作也都是通过文件读写来实...