以前对同步、异步、阻塞和非阻塞的概念没有清晰的认识,错误地认为:同步=阻塞,异步=非阻塞。因此,在这里,对同步、异步、阻塞和非阻塞重新学习

参考链接:
聊聊同步、异步、阻塞与非阻塞

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

什么是同步,什么是异步?

  • 首先,我们要明确一点。同步和异步的概念和消息的通知机制有关。认识到这一点非常重要。

同步和异步其实指的是请求发起方对消息结果的获取是主动发起的还是被动通知的。

  • 如果是请求发起方主动对消息结果发起请求则是同步。
  • 如果是请求发起方被动消息结果的等待通知,那么属于异步。

# 什么是阻塞,什么是非阻塞?

  • 阻塞是指在结果返回之前,我们什么都不能做,只能等待结果返回。
  • 非阻塞是指在结果返回之前,我们可以进行其他的操作。等结果返回后,我们再继续当前未完成的操作。

同步

——|同步阻塞 同步阻塞是指请求发出后,一开始主动询问任务是否有结果,什么也不能干,只能一直等待应答结果。
——|同步非阻塞 同步非阻塞是指请求主动发出后,可以先去处理其他的事情。但是需要不断轮询查看请求是否有结果。注意**同步非阻塞**有一个不断轮询的过程。

异步

——| 异步阻塞 异步阻塞是指请求发出后,什么也不能干,一直等待结果的返回。
——| 异步非阻塞 异步非阻塞是指请求发出后,就去干别的事情,等到事情处理完之后,服务器会主动通知请求方。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄