同步阻塞: 立即返回最终结果
同步不阻塞: 等待 返回最终结果
同步,异步,与 阻塞,非阻塞 不相关
同步 异步 ——> 强调的是结果
阻塞 非阻塞 ——> 强调的是时间,是否等待
同步与异步的区别:调用者是否得到了想要的结果
同步 一直执行到返回结果
异步直接返回,但不是最终结果。调用者不能通过这种调用得到结果,还要通过被调用者,使用其他方式通知调用者,来拿到最终结果
阻塞与非阻塞的区别在于 调用者是否在阻塞期间能做彼得事
阻塞,调用者只能 等到出结果为止
非阻塞, 调用者可以执行别的函数,不用一直等
同步IO,异步IO,IO多路复用
IO两个阶段:
1,数据准备阶段
2,内核空间复制回用户进程缓冲区阶段
发送IO的时候
内核从输入设备读写数据
进程从内核复制数据
同步IO
同步IO模型包括,阻塞IO,非阻塞IO,IO多路复用
阻塞IO
进程等待(阻塞),直到读写完成(全程等待)
read/write
非阻塞IO