同步,异步,阻塞与非阻塞

      借鉴原文: https://www.jianshu.com/p/aed6067eeac9

 

     文中说到最重要的一点就是作者很明确地对同步与异步,阻塞与非阻塞做了详细并且通俗,一语点破两者的关系,瞬间茅塞顿开。

同步与异步(大白话说):

  首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。也就是同步与异步主要是从消息通知机制角度来说的。

      同步:   先执行什么得到结果之后才能继续执行下一步操作。去银行办理业务,排队。前面办理的人没办完,你就不能办理业务。

      异步:   我用银行排队机拿小号排队,不需要在那里站着等了。等到我的时候,广播通知说007号用户请前来办理业务,此时你过去办理即可,没必要跟那么多人挤在一起。

 

阻塞与非阻塞:

  阻塞和非阻塞这两个概念与程序(线程)等待消息通知(无所谓同步或者异步)时的状态有关。也就是说阻塞与非阻塞主要是程序(线程)等待消息通知时的状态角度来说的。

     阻塞:   我只能一直竖着耳朵听是不是到我了办理业务了。其它事情不能做,要专心致志。

     非阻塞:  太坑爹了。上银行拿号排队还不能让我玩手机了?那可不行。   我随便干啥,叫到我的时候我来办理业务就可以了。

 

效率对比:

     1.同步阻塞

          排着一长串的队伍,还得站并且专心致志注意到我了吗?  (效率低下,试想这样会不会是傻子。。。)

     2. 同步非阻塞

          一遍站着排队一遍玩手机,眼睛瞟一下手机又抬头看到我了没有? (这个更累,两种任务来回切换,效率低下) 

     3.异步阻塞

         拿着小票,在银行大厅的座位上休息,不能动弹。就在做一件事,那就是广播喊我了吗?

     4.异步非阻塞

        拿着小票,跷二郎腿,拿手机炒股票,玩游戏。广播叫到007过来办理业务,屁颠地过去办理业务。游戏也玩得爽了,同时又能办理业务了。

以上仅仅只是场景的一种描述,用来打比方。不要有杠精去转牛角尖,那你就学不会什么东西了。

  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GEEK JUMP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值