最近在刷题,看到这个问题,可能说的有错,但是轻喷!
首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,
阻塞IO和非阻塞IO的区别在于第一步是否会阻塞!
同步IO和异步IO的区别在于第二步!如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。
所以阻塞和非阻塞IO都是同步IO!
最近在刷题,看到这个问题,可能说的有错,但是轻喷!
首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,
阻塞IO和非阻塞IO的区别在于第一步是否会阻塞!
同步IO和异步IO的区别在于第二步!如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO。
所以阻塞和非阻塞IO都是同步IO!