在网络环境下,通俗的讲,将IO分为两步:
- 1.等;数据准备~
- 2.数据搬迁。
如果要想提高IO效率,需要将等的时间降低。
IO相关概念
-
同步阻塞:小明一直盯着下载进度条,到
100%
的时候就完成。同步体现在:等待下载完成通知;阻塞体现在:等待下载完成通知过程中,不能做其他任务处理; -
同步非阻塞:小明提交下载任务后就去干别的,每过一段时间就去瞄一眼进度条,看到100%就完成。同步体现在:等待下载完成通知;非阻塞体现在:等待下载完成通知过程中,去干别的任务了,只是时不时会瞄一眼进度条;【小明必须要在两个任务间切换,关注下载进度】
-
异步阻塞:小明换了个有下载完成通知功能的软件,下载完成就“叮”一声。不过小明仍然一直等待“叮”的声音(看起来很傻,不是吗)。异步体现在:下载完成“叮”一声通知;阻塞体现在:等待下载完成“叮”一声通知过程中,不能做其他任务处理;
-
异步非阻塞:仍然是那个会“叮”一声的下载软件,小明提交下载任务后就去干别的,听到“