五种IO模型:
阻塞IO
非阻塞IO
信号驱动IO
异步IO
多路转接IO
1.阻塞IO
为了完成功能发起调用,若不具备完成条件,则等待完成后返回
2.非阻塞IO
为了完成功能发起调用,若不具备完成条件,则立即报错返回
阻塞与非阻塞的最大区别:发起调用之后是否立即返回
3.1同步
为了完成功能,发起调用,若不具备完成条件,则等待完成后返回
3.2异步
为了完成功能,发起调用,由其他人来完成操作
同步与异步最大的区别:任务是否自己来完成
注意:同步通常是阻塞的
异步阻塞:等待别人完成操作
异步非阻塞:不等待别人完成操作
同步异步优缺点:
同步效率低,但是流程简单;异步操作效率较高,流程控制较难
4.信号驱动IO
为了完成功能,发起调用,当条件具备就通过信号通知然后进行IO操作
5.IO多路转接:多路复用