美文网首页程序员
同步、异步、阻塞、非阻塞,这下明白了

同步、异步、阻塞、非阻塞,这下明白了

作者: 闲睡猫 | 来源:发表于2018-07-26 16:40 被阅读98次

同步阻塞,同步非阻塞,异步阻塞,异步非阻塞...

晕!

头!

转!

向!

对于小白来说,理解这些概念太难了。搜索这些概念,得到的却是更多的概念,什么并发,并行,银行家算法,操作系统调度等等...

难道就没有说人话的解释吗?用更复杂地概念去解释不懂的概念,只会带来更大的认知困惑。

好在,网上有一个关于这些概念的比喻,简洁生动,一目了然。

老张爱喝茶,晚饭后必不可少要喝上一泡茶。

泡茶的第一步是要先煮开水,他用的是老式水壶,水开了,不会响,也不会自动关闭。为了防止水开了溢出,甚至是烧干锅,他就坐在一旁等着。(同步阻塞,老张只能等到水开,在此期间不能去做其他事)

后来,由于新剧上播,老张媳妇在追剧,要老张陪着一起看,宠妻狂魔(怕老婆)的老张不得不从,但心里一直惦记着开水,于是时不时回去厨房看水是否开了。(同步非阻塞,在烧水期间,可以做其他事,但水烧开了不会发出通知,因此需要轮询确认水的状态)

由于不能专心陪媳妇看电视,媳妇有了意见,老张换了一个新的水壶,水烧开后会发起响声并自动断开

由于是新买的水壶,对于其功能还不放心,第一次使用,老张为了安全起见,坐着一旁等着。(异步阻塞,在此期间,老张不能去做其他事,但水烧开后会主动发出通知)

试验成功!

接下来老张再也不用查看水是否烧开了,直接陪老婆看电视,直到听到水烧开的响声再去倒水。(异步非阻塞,烧水期间,老张可以去做其他事,水烧开了会发出通知)

烧水泡茶

总结:

  • 同步:事情完成后不能发出通知,只能由调用者轮询查看
  • 异步:事情完成后,主动向调用者发出通知
  • 阻塞:在等待一件事完成期间,不能去做其他事
  • 非阻塞:在等待一件事完成期间,可以去做其他事

此比喻来源网络,原作者不明,我在其基础上进行了修改

相关文章

  • 同步、异步、阻塞、非阻塞,这下明白了

    同步阻塞,同步非阻塞,异步阻塞,异步非阻塞... 晕! 头! 转! 向! 对于小白来说,理解这些概念太难了。搜索这...

  • 谈论:同步异步阻塞非阻塞.md

    同步/异步:关注的方式(是否主动) 阻塞/非阻塞: 同步阻塞BIO: 同步非阻塞NIO: 异步非阻塞: 异步阻塞:

  • UNIX 的5种IO模型介绍

    IO模型同步、异步、阻塞、非阻塞socket阻塞与非阻塞,同步与异步 同步和异步 同步/异步主要针对C端-同步就像...

  • BIO NIO AIO

    BIO:同步阻塞IONIO:同步非阻塞IOAIO:异步非阻塞IO先弄清楚同步、异步,阻塞、非阻塞概念。 io操作分...

  • 阻塞非阻塞 同步异步 IO模型及其应用 NIO实现原理

    1.同步异步概念 2.阻塞非阻塞概念 3.常见I/O模型:同步阻塞IO,同步非阻塞IO,异步阻塞IO,异步非阻塞I...

  • IO模型

    原文参考链接 四种状态 同步 异步 阻塞 非阻塞 IO分类 同步阻塞IO 同步非阻塞IO 异步非阻塞IO注意: 没...

  • 阻塞,非阻塞,同步,异步

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

  • I/O模型

    一般来说I/O模型可以分为:同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO 同步阻塞IO:在此种方式下,用户进程在...

  • 并发、并行、同步、异步、阻塞、非阻塞

    并发 并行 同步 异步 阻塞 非阻塞

  • Java IO

    Before IO 分为:同步、异步阻塞、非阻塞 同步和异步是目的,阻塞和非阻塞是实现方式。 一个IO操作其实分成...

网友评论

本文标题:同步、异步、阻塞、非阻塞,这下明白了

本文链接:https://www.haomeiwen.com/subject/itwbmftx.html