Java面试题(九) - 同步、异步、阻塞、非阻塞

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxw20147854/article/details/88786997

在同步、异步、阻塞、非阻塞中,一般我们会认为同步与阻塞是同一个概念、异步与非阻塞是同一个概念,其实不然。两者之间的区别主要是针对的对象是不同的。

假如A调用B:
同步:针对的对象是B,A调用B。B在处理完事情之前是不会通知A的,只有完成事情之后才会通知A。这种叫做同步。
异步:针对的对象是B,A调用B。B在接收到A要它处理事情的请求时,告诉A我知道了;在处理完事情之后再通过回调等方式去通知A我处理完毕了。这种叫做异步。
阻塞:针对的对象是A,A调用B。在B处理完事情之前,A必须一直在这等待B的通知,只有等B处理完毕返回通知,A才能去处理其他事情。这种叫做阻塞
非阻塞:针对的对象是A,A调用B。A在调用了B之后,不用一直在这等B处理完毕,在B处理事情期间,A可以去做其他事情。这种叫做非阻塞。

大家可以去这个网址看看,看了很多网址,这位仁兄讲得最浅显易懂。http://www.sohu.com/a/250883739_465221

猜你喜欢

转载自blog.csdn.net/wxw20147854/article/details/88786997