同步和异步的区别、例子

2023-11-11

一、同步、异步的区别

同步,是所有的操作都做完,才返回给用户结果。即写完数据库之后,在相应用户,用户体验不好。

异步,不用等所有操作等做完,就相应用户请求。即先相应用户请求,然后慢慢去写数据库,用户体验较好。

同步:

同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。

 

异步:

将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。

 

以上原文地址:https://blog.csdn.net/qq_32939679/article/details/81098978

二、同步、异步的例子

”同步“就好比:

        你去外地上学(人生地不熟),突然生活费不够了;此时你决定打电话回家,通知家里转生活费过来,可是当你拨出电话时,对方一直处于待接听状态(即:打不通,联系不上),为了拿到生活费,你就不停的oncall、等待,最终可能不能及时要到生活费,导致你今天要做的事都没有完成,而白白花掉了时间。  

 “异步”就是:

       在你打完电话发现没人接听时,猜想:对方可能在忙,暂时无法接听电话,所以你发了一条短信(或者语音留言,亦或是其他的方式)通知对方后便忙其他要紧的事了;这时你就不需要持续不断的拨打电话,还可以做其他事情;待一定时间后,对方看到你的留言便回复响应你,当然对方可能转钱也可能不转钱。但是整个一天下来,你还做了很多事情。 或者说你找室友临时借了一笔钱,又开始happy的上学时光了。    简而言之,言而总之:同步就是我强依赖你(对方),我必须等到你的回复,才能做出下一步响应。即我的操作(行程)是顺序执行的,中间少了哪一步都不可以,或者说中间哪一步出错都不可以,类似于编程中程序被解释器顺序执行一样;同时如果我没有收到你的回复,我就一直处于等待、也就是阻塞的状态。 异步则相反,我并不强依赖你,我对你响应的时间也不敏感,无论你返回还是不返回,我都能继续运行;你响应并返回了,我就继续做之前的事情,你没有响应,我就做其他的事情。也就是说我不存在等待对方的概念,我就是非阻塞的。

以上原文链接:https://blog.csdn.net/huangqiang1363/article/details/79508852

 

 

 

 

 

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

同步和异步的区别、例子 的相关文章

  • string字符插入及截取操作

    1 string满足 运算符的重载 可以理解为拼接 s s 3 加在末尾 s 4 s 加在头部 2 append函数 插入整个字符串s2 s1 append s2 插入s2部分 如第四个字符到第七个字符 s1 append s3 3 6 插
  • linux使用读写锁pthread_rwlock_t

    使用读写锁 配置读写锁的属性之后 即可初始化读写锁 以下函数用于初始化或销毁读写锁 锁定或解除锁定读写锁或尝试锁定读写锁 下表列出了本节中讨论的用来处理读写锁的函数 表 4 9 处理读写锁的例程 操作 相关函数说明 初始化读写锁 pthre
  • Liunx下使用docker搭建ftp服务

    1 检索最新镜像 docker search vsftpd 2 拉取FTP镜像 docker pull fauria vsftpd 3 查看本机ip ifconfig 4 运行并创建container 方法1 运行时创建用户名和密码 doc
  • 计算机是仿生学,一种基于人体仿生学的计算机键盘的制作方法

    本实用新型属于计算机键盘技术领域 具体涉及一种基于人体仿生学的计算机键盘 背景技术 键盘是最常用也是最主要的输入设备 通过键盘 可以将英文字母 数字和标点符号等输入到计算机中 从而向计算机发出命令和输入数据等 键盘 由一组按阵列方式装配在一
  • 什么是软件测试、生命周期、软件开发模型、测试模型

    目录 1 什么是软件测试 2 软件测试和软件软件开发的区别 3 软件测试 Testing 和软件调试 Debug 的区别 4 什么是需求 5 需求是测试人员开展软件测试工作的依据 6 测试人员如何深入了解需求 7 测试用例 Test Cas
  • mysql 导入超大sql文件

    mysql u root p 登录mysql命令 可以登陆mysql服务器使用source命令导入 会快很多 我这里导入500M 大概用了5分钟 1 liunx登陆mysql mysql u 用户名 p 数据库名 然后输入密码 登陆mysq
  • Blender 雕刻

    文章目录 简介 基本操作 进入雕刻 雕刻工作区 强度 笔刷 纹理 笔画 衰减 动态拓扑 动态拓扑属性 重构网格 物体数据属性重构网格 雕刻自带的重构网格 镜像 同一个模型的不同网格 对其中一个雕刻 不影响其他的网格 快捷键 笔刷 自由线 显
  • 知识图谱——机器大脑中的知识库

    Published by liuzy on July 6 2015 作者 刘知远 清华大学 整理 林颖 RPI 版权所有 转载请注明出处 知识就是力量 英 弗兰西斯 培根 1 什么是知识图谱 在互联网时代 搜索引擎是人们在线获取信息和知识的
  • 计算机2.0培训心得,信息2.0培训心得体会

    今年7月份学校召开了关于学校信息化教育的会议 由于刚接触 我们听得一头雾水 于是就在摸索中开始了我们的信息化2 0工程培训学习 由于我组的化学科目特殊性 除了选择基础的A1技术支持的学前分析和A3演示文稿设计与制作外 我们还选择了B6技术支
  • IDEA报错解决:Cannot resolve com.oracle:ojdbc7:12.1.0.2或‘com.oracle:ojdbc7:12.1.0.2‘ not found

    1 到oracle官网下载ojdbc7 jar 附博主的ojdbc7 jar包下载地址 也可进入我的资源中下载 存入本地 不要存入maven仓库 2 打开cmd 切换到ojdbc7 jar所在文件夹 3 执行命令mvn install in
  • Vue(五)——调试

    一 console输出到控制台 如果Vue项目中 使用了eslint loader 代码规范 空格 缩进 console等测试语句 的话 就没法使用console 一定需要使用console可以尝试关闭eslint loader 在vue
  • Spring 如何从 IoC 容器中获取对象?

    前情回顾 前面几篇文章主要分析了 Spring IoC 容器如何初始化 以及解析和注册我们定义的 bean 信息 其中 Spring 中的 IoC 容器 对 Spring 中的容器做了一个概述 Spring IoC 容器初始化 和 Spri
  • 碰到了version `GLIBC_2.27' not found错误

    碰到了version GLIBC 2 27 not found错误 我查了下 因为glibc是系统级底层软件 自己编译的可能会跟原来的不一致 会导致系统不兼容 结果我在 etc ld so conf里面添加了 opt glibc 2 27的
  • C++/C笔试面试题目大大的集合

    C C笔试面试题目大大的集合 2010 10 22 00 08 3742人阅读 评论 0 收藏 举报 面试 c string 编译器 null 设计模式 1 const 有什么用途 请至少说明两种 答 1 可以定义 const 常量 2 c
  • 基于PHP的简单微博系统

    一 项目介绍 基于PHP的简单微博系统 php mysql apache开发 适合新手练习 可搭建在phpstudy下 有完整的sql文件和配置文件 三分钟快速部署 二 主要功能 1 注册 登录微博 2 个人中心 个人信息修改 查看我的关注

随机推荐

  • 【官方文档】《暗黑世界GM管理后台系统》部署+功能说明

    欢迎来到9秒 www 9miao com 暗黑三国管理后台说明文档 一 功能描述 该后台共分为三大部分 服务器管理 单服数据统计和扶持账号管理 1 服务器管理 根据管理后台数据库中填写的服务器信息 后面会讲到如何填写要管理的服务器的信息到数
  • golang http请求时设置代理ip

    在http Client中自定义Transport 设置Proxy即可 目前网上存在很多代理ip网站 本人也写过一些代理ip网址的爬取 见 GitHub 如果需要代理验证 那么如下进行设置 否则直接设置为url Parse http inp
  • CSS设计指南(第3版)》

    CSS设计指南 第3版 基本信息 原书名 Stylin with CSS a designer s guide 作者 英 Charles Wyke Smith 译者 李松峰 丛书名 图灵程序设计丛书 出版社 人民邮电出版社 ISBN 978
  • ATL与COM之间的关系、ATL的特点与基本使用方法

    ATL Active Template Library活动模板库 是一种微软程序库 支持利用C 语言编写ASP代码以及其它ActiveX程序 通过活动模板库 可以建立COM组件 然后通过ASP页面中的脚本对COM对象进行调用 这种COM组件
  • [R语言]R包的安装&帮助获取

    本文主要参考 Paul Teetor R语言经典实例 一书 在R语言中 包含的包中有各种应用函数 1 install packages packagename 安装R包 library package name 载入包 对于base包可省略
  • CentOS7安装oracle19c

    教程 https zhuanlan zhihu com p 571737575 CentOS7安装oracle19c教程 https zhuanlan zhihu com p 571737575 一 准备工作 1创建 oracle 用户 以
  • 关于指针

    指针的一些基础知识 1 指针的定义 数据在内存中的地址也称为指针 如果一个变量存储了一份数据的指针 我们就称它为指针变量 在C语言中 允许用一个变量来存放指针 这种变量称为指针变量 指针变量的值就是某份数据的地址 这样的一份数据可以是数组
  • 利用docker部署TF深度学习模型(附件文件较大,并无上传。部署参考步骤即可)

    一 介绍 docker Docker 是一个开源的应用容器引擎 基于 Go 语言 并遵从 Apache2 0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linux 机器上
  • 预编译过程中的相关知识点

    1 文件包含顺序 在头文件中 1 包含自定义头文件 2 包含第三方库的头文件 3 包含标准库头文件 在源文件中 1 包含该源文件对应的头文件 2 包含自定义头文件 3 包含第三方库的头文件 4 包含标准库头文件
  • 【Python】pip安装opencv-python包失败与换清华源提速

    文章目录 出现的问题 解决的方法 换源 出现的问题 在Windows10系统中 在cmd中 或者在pycharm的Terminal中 输入pip install opencv python会出现如下报错 ERROR Exception Tr
  • Python:ImportError: DLL load failed:找不到指定的模块 解决方案

    解决方法 检查numpy scipy matplotlib scikit learn的版本是否更新到最新且符合当前Python版本 如果出现不是最新的版本 先卸载该版本 windows pip uninstall numpy 再去http
  • 2019下半年阿里面试失败总结

    结果预览 2年半第一次出去面试 也是第一次面试阿里 打击不小 收货也不少 最终倒在二面笔试题上 虽有不甘 但仍需收拾心情 继续努力 一面总结 在一面上 跟网上大多数的反馈相同 都是比较Java基础项 然后往深度问 我整理了下 因为我简历上写
  • springmvc <mvc:annotation-driven/><mvc:default-servlet-handler/>区别 ssm整合

    文章目录 概述 概念和核心 什么是MVC springmvc第一个程序搭建 先到依赖 idea搭建项目 eclipse搭建 在spirngmvc xml配置文件写上这个 web xml写上servlet配置 匹配优先级 流程和原理 执行流程
  • 一文解读flowable工作流

    flowable工作流的定义 流程 及项目使用 flowable工作流 1 flowable 1 1 定义 1 2 作用 1 3 流程 2 使用实例 2 1 引入pom依赖 2 2 yml文件 2 3 审批流程xml 2 4 引擎配置类 2
  • 【模板】二分

    文章目录 1 整数二分 1 1 寻找 x 或 x 的后继 1 2 寻找 x 或 x 的前驱 1 3 模板 1 4 解题步骤 2 实数二分 本文的二分模板来自 算法竞赛进阶指南 1 整数二分 对于整数域上的二分 需要注意终止边界 左右区间取舍
  • windows消息机制详解

    前言 windows是一个消息驱动的系统 windows的消息提供了应用程序之间 应用程序与windows 系统之间进行通信的手段 要想深入理解windows 消息机制的知识是必不可少的 基础 进程接收来自于鼠标 键盘等其他消息都是通过消息
  • [C/C++]函数的栈空间(避免栈空间溢出)

    个人主页 北 海 CSDN新晋作者 欢迎 点赞 评论 收藏 收录专栏 C C 希望作者的文章能对你有所帮助 有不足的地方请在评论区留言指正 大家一起学习交流 错误1 当数组的内存占用较大时 会引发异常 include
  • 手把手使用Micropython+合宙Esp32c3(驱动安装,为合宙Esp32c3安装Micropython固件库,代码上传到ESP32C3中)含Thonny和vscode两种方法

    文章目录 驱动安装 为合宙Esp32c3安装Micropython固件库 1 Micropython简介 2 Micropython解释器下载 Thonny解释器 VScode 3 ESP32C3固件库下载以及安装 固件库下载 固件库安装
  • dorado 产品简介

    dorado展现中间件是快速创建Rich Internet Application的表现层解决方案 dorado包含运行平台与开发工具 dorado可以广泛应用于各行业管理类web软件项目或产品中 dorado提高了Web应用的可用性 降低
  • 同步和异步的区别、例子

    一 同步 异步的区别 同步 是所有的操作都做完 才返回给用户结果 即写完数据库之后 在相应用户 用户体验不好 异步 不用等所有操作等做完 就相应用户请求 即先相应用户请求 然后慢慢去写数据库 用户体验较好 同步 同步的思想是 所有的操作都做