美文网首页java多线程
同步、异步与阻塞、非阻塞的区别

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

作者: __Vivin | 来源:发表于2017-10-06 16:34 被阅读4次



        一直都以为同步是阻塞,异步是非阻塞,今天才知道这个结论是大错特错,看了很多例子,自己也来进行类比解释一下,个人理解,若有误,请纠正,谢谢。

        同步与异步的区别主要在于被调用者如何去回应调用者。用官话说就是消息通信机制的不同。

        举个例子:

            你去找一个朋友借东西,去到朋友家,朋友告诉你东西被雪藏了,可能要找很久,所以你也许会有以下两种方式获得书。第一种:你在朋友家等了很久,等他找到拿给你。第二种,你先回家,他如果找到了就寄快递给你。

          第一种是同步的方式,你是调用者,朋友是被调用者,调用者主动等待响应。

          第二种是异步的方式,由被调用者去告诉你东西找到了。

          阻塞和非阻塞区别在于在你做一件事的时候,你能不能去做别的事。至于这件事如何做的,你又如何知道这件事做完了的,与它没有什么关系。

          同一个例子:

          同步非阻塞:

    你在朋友家等了很久,在等的过程中,你无聊就在那里敲代码,时不时主动去问找到了没。

          同步阻塞:

    你在朋友家等了很久,什么事都没干,一直等到朋友把东西找到。

          异步非阻塞:

    你先回家,吃饭睡觉打豆豆。等到朋友找到了自己寄给你。

         异步阻塞:

    你先回家,啥事都不干,就等朋友找到了寄给你。(真的是这样?似不似傻?)

    所以由此看来,同步异步与阻塞非阻塞是不同的。

相关文章

  • Linux网络IO模型

    什么是同步与异步、阻塞与非阻塞 引用知乎 怎样理解阻塞非阻塞与同步异步的区别? 上面的一个回答,很生动的说明了同步...

  • UNIX 的5种IO模型介绍

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

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

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

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

    同步,异步 和 阻塞,非阻塞之间的区别? 同步,异步,是描述被调用方的。阻塞,非阻塞,是描述调用方的。 同步不一定...

  • IO模型

    同步,异步,阻塞和非阻塞的概念与区别 同步和异步从消息通知机制角度来说的。 两个任务 同步一直等,异步不等 阻塞和...

  • BIO NIO AIO

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

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

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

  • 同步异步和阻塞非阻塞_190220

    简介 一个知乎连接说的很好作者:严肃链接:同步异步和阻塞非阻塞来源:知乎“阻塞”与"非阻塞"与"同步"与“异步"不...

  • 69 netty 深度源码解读

    1,同步与异步的/阻塞与非阻塞IO概念2,linux 用户态与内核态之间的区别3, 从linux内核角度分析非阻塞...

  • IO模型

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

网友评论

    本文标题:同步、异步与阻塞、非阻塞的区别

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