zoukankan      html  css  js  c++  java
  • 同步&异步+阻塞&非阻塞(理解)

    0 - 同步&异步

      同步和异步关注的是消息通信机制。

    0.1 - 同步

      由“调用者”主动等待这个“调用”结果。即是,发出一个“调用”时,在没有得到结果之前,该“调用”不返回,一旦调用返回,则得到返回值。

    0.2 - 异步

      “调用者”不主动等待“调用”结果,而是“调用”结束之后主动通知“调用者”(通过状态、通知或者回调函数等各种形式)。

    0.3 - 同步&异步-举例

      例如,我打电话去询问教务处老师有没有开设”高性能计算导论“这门课。如果是同步机制,则老师会说,”稍等一下,我查一下“,然后我就在接通电话的状态下一直等着老师的回复;而如果是异步机制,则我就会挂断电话,等老师查询之后直接通过”回电“的方式通知我。

    1 - 阻塞&非阻塞

      阻塞和非阻塞关注的是程序在等待调用结果时的状态。

    1.1 - 阻塞

      阻塞是指程序在等待结果时该线程会挂起,即是说做不了其它事。

    1.2 - 非阻塞

      非阻塞是指程序在等待结果时不阻塞当前线程,可以做其它的事。

    1.3 - 阻塞&非阻塞-举例

      还是上面的例子,我还是打电话询问教务处老师有没有开设”高性能计算导论“这门课。如果是同步阻塞机制,则老师说,”稍等一下,我查一下“之后,我会一直守在通话旁等待老师回复而不做任何其它事情;如果是同步非阻塞机制,在老师说完之后我会同步做其它的一些小事情,比如用电脑刷刷微博等等,但还是会时不时注意手机保持的通话中老师是否在回复我。异步阻塞和异步非阻塞与相应的同步阻塞和非阻塞对应,但是我会挂断电话,以老师“回电”方式告知我。

    2 - 参考资料

    https://www.zhihu.com/question/19732473

  • 相关阅读:
    弹框在UC浏览器或者Android机器上会被顶上去
    移动端性能优化
    当placeholder的字体大小跟input大小不一致,placeholder垂直居中
    Chrome下面查看placeholder的样式
    js 高级程序设计(笔记)
    SpringBoot自定义配置步骤
    二叉树的下一个节点
    输入某二叉树的前序遍历和中序遍历的结果,重建出该二叉树
    kafka配置记录
    Builder模式
  • 原文地址:https://www.cnblogs.com/CZiFan/p/9726908.html
Copyright © 2011-2022 走看看