同步 异步 阻塞 非阻塞

2020-05-05  本文已影响0人  程序男保姆
  1. 同步阻塞:小明一直盯着下载进度条,到 100% 的时候就完成。
  2. 同步非阻塞:小明提交下载任务后就去干别的,每过一段时间就去瞄一眼进度条,看到 100% 就完成。
  3. 异步阻塞:小明换了个有下载完成通知功能的软件,下载完成就“叮”一声。不过小明仍然一直等待“叮”的声音(看起来很傻,不是吗)
  4. 异步非阻塞:仍然是那个会“叮”一声的下载软件,小明提交下载任务后就去干别的,听到“叮”的一声就知道完成了。
    也就是说,同步/异步是下载软件的通知方式,或者说 API 被调用者的通知方式。阻塞/非阻塞则是小明的等待方式,或者说 API 调用者的等待方式。

五种io模型

  1. 阻塞io
image.png
  1. 非阻塞io


    image.png
  2. io多路复用


    image.png
  3. 信号驱动

image.png
  1. 异步io


    image.png
上一篇 下一篇

猜你喜欢

热点阅读