阻塞、非阻塞
- 阻塞/非阻塞:指线程/进程要访问的数据是否准备就绪,进程/线程是否需要等待
- 阻塞:进程/线程给CPU传达一个任务之后,一直等待CPU处理完成,然后才执行后续操作
- 非阻塞:进程/线程给CPU传达任务候继续处理后续操作,间隔询问之前的任务是否完成,这种过程其实也叫轮询。
同步、异步
- 同步/异步:访问数据的方式
- 同步:主动读写数据,在读写数据的过程中还是会阻塞
- 异步:不主动读写数据,由操作系统内核进行数据读写,操作完成候返回信号。
总结
1、阻塞、非阻塞、多路复用,都是同步IO,异步必定是非阻塞的。
2、只有用户进程/线程在操作IO时根本不考虑IO的执行全都交给CPU去完成,而自己只等待一个完成的信号时才是真正的异步。
链接: https://www.cnblogs.com/Anker/p/5965654.html.