zoukankan      html  css  js  c++  java
  • python学习笔记——同步异步阻塞非阻塞

    同步和异步

    1. 同步,就是在发出一个调用时,在没有得到结果之前, 该调用就不返回。换句话说就是调用者主动接收这个结果。

    2. 异步,就是调用者发出一个调用后,不用等结果,直接可以进行下一步。也就是说这个调用没有返回结果,是被调用者通过状态、通知来通知调用者,或者通过回调函数处理这个调用。

    通俗点说:
    同步就像是正在苦苦追求一个女生的男生,这天他向这个女生表白,女生要给他一个是否同意交往的回答,女生没有回答之前他会一直等这个结果。
    异步就像是个海王,广撒网,精准捕捞。群发表白消息,不管第一个女生是否给了回答,反正就是给列表里所有的女生都发了表白信息。等有女生同意和他交往,他就收到了想要的答案(返回值)。

    阻塞非阻塞

    阻塞和非阻塞关注得是程序在等待调用结果(消息,返回值)时的状态

    1. 阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
    2. 非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

    还是上面那个例子,你向一个女生表白,然后她如果一直吊着你不给你答复(绿茶),你为了她茶饭不思,这就形成了阻塞。
    如果你是海王,这个女生没有给你答复,你可以转过头去看看其他女生是否给你反馈,只要时不时回来看看这个女生有没有返回什么信息即可,这就是非阻塞。

    PS:这部分内容学起来还真的是挺绕的...

  • 相关阅读:
    JAVA 打开文件乱码
    单引号和双引号的区别
    global和$GLOBALS[]的区别
    php统计数组元素个数
    PHP5.3x不再支持ereg和eregi
    discuz论坛diy标签
    网页特效过渡功能
    discuz缓存机制
    php数组中删除元素
    speedphp是个不错的框架
  • 原文地址:https://www.cnblogs.com/pr1s0n/p/12246062.html
Copyright © 2011-2022 走看看