一篇博客让你彻底搞懂同步异步,阻塞非阻塞的含义和区别

       做网络IO编程我们或多或少都会接触到同步、异步、阻塞、非阻塞等相关技术术语,但是到底什么是同步异步阻塞非阻塞,他们怎么定义的,有什么区别,很多童鞋可能一直处于一种半懂半懵逼的状态。

       针对同步,异步,阻塞,非阻塞四种情况,一般日常会有以下四种应用场景

       1、同步阻塞

       2、同步非阻塞

       3、异步阻塞

       4、异步非阻塞

       这里先通过四个小故事来简单讲一下同步异步阻塞非阻塞的应用场景

      1、同步阻塞

           小张去店里买衣服,店长告诉小张衣服没有了,小张就一直在店里等着,直到衣服有了才回家或者做其他事情。

      2、同步非阻塞

           小张去店里买衣服,店长告诉小张衣服没有了,小张不等了跑去买其他东西了,过一会又回来问店长有没有衣服。

      3、异步阻塞

           小张去店里买衣服,店长告诉小张衣服没有了,小张将自己电话给店长,告诉店长有衣服了给自己打电话,然后自己等在店里和店长大眼瞪小眼。

      4、异步非阻塞

           小张去店里买衣服,店长告诉小张衣服没有了,小张将自己电话给店长,告诉店长有衣服给自己打电话,然后自己跑去做其他事情了。

 

       通过上面四个小故事是不是对这些概念有点模糊的理解了呢。有没有感觉其中 “异步阻塞” 特别傻逼,哈哈其实我也是这么觉得的。

       其实说白了,同步异步,阻塞非阻塞是站在不同的角度来看待问题罢了,就上面的故事而言。我们对这些概念做一个最直接的阐释。

       同步:  小张主动找店长

       异步:  小张给电话给店长,让店长打电话给小张,(就是代码中常用的回调接口),简单说就是被动等待店长找小张

       阻塞:  小张买到衣服钱不能做其他事情

       非阻塞:  没有衣服,小张可以做其他事情

说到这个程度,其实同步异步,阻塞非阻塞的概念已经很明了了,希望对初学者菜鸟们有所帮助,告辞。

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值