同步、异步、阻塞、非阻塞的理解

2023-11-11

同步、异步、阻塞、非阻塞的理解

  有关这四个概念总会混淆,前几天特意查了下,简单理解了下这四个概念,若理解的不对,希望大家指正。

一、同步异步

  同步是调用者发出请求后,一直等待被调用者响应 ,如果被调用者没有响应那会一直不返回。以买书为例,如下:
这里写图片描述
  异步是调用者发出请求后,接着返回,当然这次返回是没有返回值的,只有当被调用者完成当前业务逻辑,会主动去通知调用者。具体如下:
这里写图片描述

二、阻塞非阻塞

  阻塞是线程在发出请求,在得到消息之前,会一直挂起,只有得到结果之后,才会返回。
这里写图片描述
  非阻塞是线程在发出请求,当前线程不会挂起,而是返回去接着做别的事情,但是自己会主动回来check 下被调用者对请求的处理情况。
这里写图片描述

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

1、关注点不同
  同步异步关注的是整个访问过程中的消息通信体制。
  阻塞非阻塞关注的是线程在等待调用结果时,自己的状态。
2、范围不同
  同步异步 是更广的层次上,对整个访问过程,处理情况的描述。
  阻塞非阻塞 仅是单方面(线程)上的,在访问过程中,对自己所处状态的一种描述。(是否等待?)

关于更详细的内容可以参考这篇文章:同步异步阻塞非阻塞的理解

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同步、异步、阻塞、非阻塞的理解 的相关文章

随机推荐

  • FlinkCDC第三部分-同步mysql到mysql,ctrl就完事~(flink版本1.16.2)

    本文介绍了 来源单表 gt 目标源单表同步 多来源单表 gt 目标源单表同步 注 1 16版本 1 17版本都可以使用火焰图 生产上最好关闭 详情见文章末尾 Flink版本 1 16 2 环境 Linux CentOS 7 0 jdk1 8
  • cocos2d-x 源码分析 总目录

    这篇博客用来整理与cocos2d x相关的工作 只要有新的分析 扩展或者修改 都会更改此文章 祝大家愉快 1 源码分析 1 CCScrollView源码分析 http blog csdn net u011225840 article det
  • Python破解12306图片验证码

    不知从何时起 12306的登录验证码竟然变成了按字找图 可以说是又提高了一个等次 竟然把图像识别都用上了 不过有些图片 不得不说有些变态 图片的清晰图就更别说了 明显是从网络上的图库中搬过来的 谁知没多久 网络就惊现破解12306图片验证码
  • 删除 GitHub 提交记录中的文件或敏感数据

    BFG Repo Cleaner 是一个简单 快速的 10 720 倍 工具 代替 git filter branch 在你的 Git 存储库中清除不想要的文件或敏感数据 GitHub 地址 https github com rtyley
  • 代码审计-strpos数组绕过

    ereg 函数用指定的模式搜索一个字符串中指定的字符串 如果匹配成功返回true 否则 则返回false 搜索字母的字符是大小写敏感的 strpos 函数查找字符串在另一字符串中第一次出现的位置
  • CloudOS:物联网开发平台,云上开发,边端交付

    文章目录 一 CloudOS概述 二 CloudOS主要功能 1 云上开发 2 边端交付 3 数据管理 4 安全保障 三 CloudOS应用场景 1 智能家居 2 智慧城市 3 工业物联网 四 总结 欢迎来到云计算技术应用专栏 CloudO
  • 工作中如何做好技术积累(摘自美团点评技术团队博客)

    引言 古人云 活到老 学到老 互联网算是最辛苦的行业之一 加班 对工程师来说已是 家常便饭 同时互联网技术又日新月异 很多工程师都疲于应付 叫苦不堪 以至于长期以来流传一个很广的误解 35岁是程序员工作的终点 如何在繁忙的工作中做好技术积累
  • 由于设备驱动程序的前一个实例仍在内存中,Windows 无法加载这个硬件的设备驱动

    感谢这位 sizzg7796 网友
  • 【Jenkins】部署vue项目(多种方式部署)

    文章目录 Jenkins部署vue项目 先安装node js 上传到linux并解压 配置Jenkins 环境变量 jenkins 创建任务 部署方式 第一种 npm run build 打包的形式 执行脚本 build Steps 第二种
  • Detr代码解读(一)数据加载

    文章目录 导读 数据加载 dataset train 数据源文件不存在报错解决 CocoDetection 采样 数据处理 处理 target 处理 img 收集策略 collate fn batch 导读 源码 Detr Detr用的数据
  • 深入理解React Hooks与闭包:提升你的React开发技能

    深入理解React Hooks与闭包 提升你的React开发技能 深入理解React Hooks与闭包 提升你的React开发技能 深入理解React Hooks与闭包 提升你的React开发技能 前言 1 React Hooks 简介 2
  • PID双环控制(速度环和位置环)

    PID双环的控制过程 PID双环控制的前期准备 代码实现步骤 效果图 位置环做为外环 速度环作为内环 可以看到外环的输出值作为内环的目标值 外环计算一次pid 我们根据pid公式可以知道 当离位置目标越来越近时 第一个误差 外环误差 就越来
  • python输出结果去掉引号_从二维数组python中删除引号

    我目前正在尝试执行对具有大指数的幂进行赋值的代码 而不对其进行计算 而是对其进行记录 我有一个包含1000行的file 每行包含两个由逗号分隔的iteger 我被困在试图从数组中删除引号的位置 我尝试了许多方法 但都无济于事 这是我的代码
  • 转---30 分钟学会 Flex 布局

    正文从这开始 Flex 基本概念 在 flex 容器中默认存在两条轴 水平主轴 main axis 和垂直的交叉轴 cross axis 这是默认的设置 当然你可以通过修改使垂直方向变为主轴 水平方向变为交叉轴 这个我们后面再说 在容器中的
  • 使用three.js加载obj+mtl模型

    已经有比较好的博客介绍如何加载模型 使用three js加载obj mtl模型完整案例 有一点小问题 会导致模型加载不成功 需要修改两处地方 1 将 Detector js 替换为 WebGL js 根据Three js中Detector
  • 自动登录远程服务器脚本,iTerm2使用脚本自动登录远程服务器

    在iTerm2下ssh不能自动登录 不自动登录每次输入命令太麻烦了 这里介绍一个采取expect脚本的方式实现iTerm2下ssh自动登录 新建一个expect脚本 login exp usr bin expect if llength a
  • 从无监督构建词库看「最小熵原理」,套路是如何炼成的

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP 神经网络 个人主页丨kexue fm 在深度学习等端到端方案已经逐步席卷 NLP 的今天 你是否还愿意去思考自然语言背后的基本原理 我们常说 文本挖掘 你真的感受到了 挖掘 的
  • Unity iOS打开AppStore评星页面,浅谈Application.OpenURL()方法。

    http fairwoodgame com blog p 38 Unity iOS打开AppStore评星页面 浅谈Application OpenURL 方法 Posted in Unity on August 6 2013Comment
  • 8、工厂方法

    文章目录 概念 demo 概念 定义一个创建对象的接口 让其子类自己决定实例化哪一个工厂类 工厂模式使其创建过程延迟到子类进行 demo package com cn go designpattern public class Factor
  • 同步、异步、阻塞、非阻塞的理解

    同步 异步 阻塞 非阻塞的理解 有关这四个概念总会混淆 前几天特意查了下 简单理解了下这四个概念 若理解的不对 希望大家指正 一 同步异步 同步是调用者发出请求后 一直等待被调用者响应 如果被调用者没有响应那会一直不返回 以买书为例 如下