异步文件IO,即重叠IO。
在同步文件I/o中,线程在启动I/o操作后立即进入等待状态,并且在I/o操作完成之前不会醒来继续。 在异步文件I/o方式中,线程向内核发送一个I/o请求,然后继续进行其他处理,在内核完成I/o请求后,向线程通知I/o操作完成。
如果I/o请求需要很长时间才能执行,则异步文件I/o方法会浪费时间(如果其他线程不需要执行,则操作会浪费时间),因为CPU会在线程等待时调度其他线程执行在I/o请求高速的情况下,异步I/o方式反而效率低,与方式更好。
同步IO一次只允许一个I/o操作。 这意味着对同一文件句柄的I/o操作是序列化的,使用两个线程不能同时对同一文件句柄发出读/写操作。 重复的IO允许一个或多个线程同时发出IO请求。