每日一问(20210919) 同步、异步、堵塞、非堵塞 的关系?

问题:
同步、异步、堵塞、非堵塞 分别是什么意思,什么区别?

一篇很细的博客讲解四者之间的关系

同步 VS 异步

  • 关注的是通信机制
  • 同步是主动等待调用的结果, 不去做其他事情
  • 异步不等待调用的结果, 而是去做其他事情, 直到收到了被调用方的通知

堵塞 VS 非堵塞

  • 关注的是进程等待调用结果时的状态
  • 堵塞: 进程会挂起, 直到调用结果返回
  • 非堵塞: 调用结果立刻返回, 进程不会挂起, 然后不断测试, 直到出结果

引入老王烧水的例子

  • 同步堵塞
    • 老王把水壶放火上,立等水烧开(老王被挂起),然后泡茶(后续事务)
  • 同步非堵塞
    • 老王把水壶放火上,去看电视了(老王没有被挂起),隔几分钟来看一眼水有没有开(轮询),等水开了后泡茶

异步

  • 异步就是异步
  • 上面区分堵塞、非堵塞时,提到的前提是: 等待结果返回之前。然而,异步的“调用”,调用者 不等待 结果,也就不可能被挂起,也就不可能堵塞!
  • 也就是说,异步一定是非堵塞的
  • 例子:
    • 老王换了个烧开后会响的水壶,把水壶放火上,自己去看电视了,中间不回来看,水开了后水壶呜呜呜响,老王听到声音就回来,然后泡茶
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值