zoukankan      html  css  js  c++  java
  • 阻塞、非阻塞、同步、异步

    同步 指进程 调用接口时 需要等待接口处理完数据并相应进程才能继续执行。这里重点是数据处理完成 并返回


    异步 指进程调用接口后,不必等待数据准备完成 可以继续执行。后续数据准备好通过一定的方式获得 例如回调。这里重点是 服务器也必须支持异步操作。不然没法返回数据。

    那么获取数据的方式不一样所以编程的复杂度也不一样。

    阻塞 指的是 进程调用接口后 如果接口没有准备好数据,那么这个进程会被挂起 什么也不能做。直到有数据返回时唤醒。

    非阻塞 就是进程调用接口后 如果接口没有准备好数据,进程也能处理后续的操作。但是需要不断的去轮询检查 数据是否已经处理完成。


    总结一下:

    同步异步针对的是 如果接收不到数据 当前代码逻辑的状态。

    阻塞非阻塞针对的是 如果接收不到数据 当前进程的状态。

    以超市买东西付款为例。

    同步阻塞:需要等收银员扫描完我的商品后才能付款 我才能干别的事情。再这之前我一直看着她。

    同步非阻塞:你先扫描 我先去看看别的东西。过一会看一眼服务员扫了多少了 也就是轮询。

    异步非阻塞: 我就在隔壁买个咖啡。扫完了你叫我一声。

    异步阻塞 应该不存在吧。

  • 相关阅读:
    Deepin v20 beta更新后没有无线网卡
    Java操作Poi--word图表中颜色的设置
    IDEA配置之CopyRight
    Oracle——日期函数,时间操作(汇总)
    IDEA插件之alibaba编程规范
    IDEA插件之PMD
    IDEA插件之CheckStyle
    IDEA插件之FindBugs
    小计--------flume 自定义kafka source 案例
    记一次--------phoenix创建表映射到hbase报错
  • 原文地址:https://www.cnblogs.com/Tao9/p/11966171.html
Copyright © 2011-2022 走看看