1.出于安全性 Linux有一个机制 应用层和内核层是无法互相直接读取内存的, 他们要互相读取数据是有一个拷贝过程的, 如: 应用层要读取内核层的数据就调用read(), 内核就会先把数据copy到一个buff并返回给read() 但, 如果这个过程很大很频繁那么同步机制的效率就非常低, 因为不读完主线程就会一直阻塞,会耽误接下来的操作,导致服务器延迟高,效率低 所以出现了异步IO这个概念: 如:应用层要读取一段数据, 那么发起申请后,内核层开始进行拷贝无论是否完成都会立刻返回, 但内核还会继续…