同步与异步区分:
举一个很简单的例子,去饭堂买饭,你可以一直在那里排队,然后买饭(同步);也可以提前给人家说好后登记,等饭做好了之后卖饭师傅会按之前登记的号码叫你(异步),同步与异步关注的是消息是如何通知的,一个是主动去获取消息,一个是被动接收通知,核心在于消息通知机制的不同。
阻塞与非阻塞:
顾名思义,当你不能进行上一件事时你是继续等待,还是在这个过程之中去做别的事提高自己的效率,关注的是你在等待消息通知时的状态。
总结:
用我们上边的例子继续延申就是当你在排队的时候什么都不做(傻乎乎的站在那里)时这种情况就是同步阻塞,而你此时觉得无聊刷一刷抖音,就是同步非阻塞,但是你需要操心你的饭有没有做好;而你发现了一直站着等着实在累的时候,你给卖饭师傅说先一登记,然后做好的话再叫你,此时你可以好好歇歇,可以好好玩玩手机,这样都两不耽误,这种情况就是异步非阻塞(看起来是不是很爽),但是你玩了一会后却发现手机没电了,你也只有干坐在那等着,此时就是异步阻塞,你不能做别的事情了