playground

同步、异步、阻塞、非阻塞

概念

同步、异步:在等待一件事的处理结果时,如果是主动询问那么就是同步的,如果是被通知的,那么就是异步的。

阻塞、非阻塞:在等待一件事的处理结果时,如果没有做其它的事情那么就是阻塞的,如果在等待的同时还做了其它事情就是非阻塞的。

例子

假设场景是我们在用迅雷下载一个文件并等待它下载完成,分以下几种情况讨论。

我们盯着迅雷的界面一直等待文件下载完成,并且期间没有做其它的事情。

每隔一段时间查看文件下载的进度,其余时间还在浏览网页。

文件下载完成后迅雷会弹出通知,在这期间我们还是等待下载完成并且没有做任何其它的事情。

文件下载完成后迅雷会弹出通知,在这期间我们一直在做别的事情。

参考

  1. 《彻底搞清同步,异步,阻塞,非阻塞的概念性知识》