阻塞非阻塞与同步异步的区别

有如下场景:

1.调用方在调用一个方法后,在没有得到结果时,就不会返回,一直等待,而不去做其他的事,直到被调用方返回消息。(同步阻塞)
2.调用方在调用一个方法后,在没有得到结果时,就不会返回;然后先去做其他事情,但需要隔一段时间看看之前的调用有没有返回消息(同步非阻塞)
3.调用方在调用一个方法后,不需要等待被调用方消息,立刻返回,去做其他的事情,等被调用方通过"通知或回调"通知后,再来获取消息。(异步非阻塞)
4.调用方在调用一个方法后,不需要等待被调用方消息,立刻返回,但不去做其他事,就等着被调用方通过"通知或回调"通知。(异步阻塞)

基于以上4种场景:梳理以下区别    

同步与异步

  • 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
  • 被调用方是否可以通过"通知或回调"来通知调用方获取返回消息:可以就是异步,不可以就是同步

阻塞与非阻塞

  • 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。就是在调用方法后,在没有返回消息的情况下,有没有去做其他事
  • 不去做其他事,一直等待,就是阻塞
  • 调用后,没有等待去做其他事,但是会监听调用是否返回消息,是非阻塞
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值