概念
名称 | 概念 | 区别 |
---|---|---|
同步 | 函数或方法被调用的时候,调用者直接得到最终结果 | 同步、异步,与阻塞非阻塞不相关 |
异步 | 函数或方法被调用的时候,调用者未直接得到最终结果 | 同步、异步强调是否得到最终的结果 |
阻塞 | 函数或方法调用的时候,立即返回 | 阻塞、非阻塞强调的是时间 ,调用者是否等待,也就是能否干别的事情 |
非阻塞 | 函数或方法调用的时候,未立即返回 |
IO过程
IO过程分两个阶段:
1、数据准备阶面
2、内核空间复制回用户进程缓冲区阶段
发生IO的时候:
1、内核从输入设备读、写数据
2、进程从内核复制数据
同步IO
1、同步阻塞IO:
2、同步非阻塞IO:
3、IO多路复用:
异步IO
以上图片皆来自度娘,感谢各位大神的无私奉献