同步与异步 阻塞与非阻塞

同步与异步的区别

同步:发送一个请求,等待返回,再发送下一个请求,同步可以避免出现死锁,脏读的发生。
异步:发送一个请求,不等待返回,随时可以再发送下一个请求,可以提供效率,保证并发。

同步与异步关注的是消息通信机制

举个例子
你打电话问书店老板有没有《分布式架构》这本书,如果是同步通信机制,书店老板会说,你稍等,我查一下,然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。
而异步通信机制,书店老板直接告诉你,我查一下啊,查好了打电话给你,然后直接挂电话(不返回结果)。然后查好了,他会主动打电话给你。在这里老板通过“回电话”这种方式来回调。


阻塞与非阻塞的区别

阻塞:进程给CPU传达一个任务之后,一直等待cpu处理完成,然后才执行后面的操作。
非阻塞:进程给CPU传达任务后,继续处理后续的操作,隔断时间再来询问之前的操作是否完成。这样的过程其实也叫轮询。

阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态

举个例子
你打电话问书店老板有没有《分布式架构》这本书,如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果。
如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了,当然你也要偶尔过几分钟check一下老板有没有返回结果

细细品读一下这两个例子,在不明白一个概念之前,我们可以通过通俗的例子去理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值