同步请求和异步请求的区别

先解释一下同步和异步的概念

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

同步通信方式与异步通信的概念

同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;
异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。

使用者用于调用WEB服务的通信选择:同步或异步。

使用者可以同步或异步实现服务调用。从使用者的观点来看,这两种方式的不同之处在于:

  • 同步——使用者通过单个线程调用服务;该线程发送请求,在服务运行时阻塞,并且等待响应。
  • 异步——使用者通过两个线程调用服务;一个线程发送请求,而另一个单独的线程接收响应。

术语同步 和异步 经常与顺序 和并发 混淆了。后面的这两个术语与执行单独的任务必须遵循的顺序有关,而同步异步 与线程执行单个任务(如调用单个服务)的方式有关。理解同步和异步调用之间的不同的一种很好的方法是考虑崩溃恢复的后果:

  • 同步——如果使用者在服务运行的过程中阻塞时崩溃了,当它重新启动时,将无法重新连接到正在进行的调用,所以响应丢失了。使用者必须重复调用过程,并且期望这次不会崩溃。
  • 异步——如果使用者在发送了请求之后等待响应时崩溃了,当它重新启动时,可以继续等待响应,所以响应不会丢失。

崩溃恢复不是同步和异步调用之间的唯一不同,但是如果您尝试确定某个调用采用哪一种方式,请考虑每一种调用如何处理崩溃恢复,这通常可以给您一个很好的答案.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在 Java Web 开发中使用 Ajax 时,重要的是完整理解同步 和异步 通信模型的区别(请参阅 参考资料)。对异步通信模型支持的缺乏,会对客户端开发、与 Web 框架的集成、标记库的使用、IDE 的使用以及线程的行为有影响。

在同步请求/响应通信模型中,总是浏览器(与 Web 服务器、应用服务器或 Web 应用程序相对)发起请求(通过 Web 用户)。接着,Web 服务器、应用服务器或 Web 应用程序响应进入的请求。在处理同步请求/响应对期间,用户不能继续使用浏览器。

在异步请求/响应通信模型中,浏览器(通过 Web 用户)到 Web 服务器、应用服务器或 Web 应用程序的通信(以及反过来)是解耦的。在异步请求/响应对的处理中,Web 用户在当前异步请求被处理时还可以继续使用浏览器。一旦异步请求处理完成,异步响应就被通信(从 Web 服务器、应用服务器或 Web 应用程序)回客户机页面。典型情况下,在这个过程中,调用对 Web 用户没有影响;他们不需要等候响应。

同步请求和异步请求的区别相关推荐

  1. java同步异步区别_同步请求和异步请求的区别

    同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的 ...

  2. 第106天:Ajax中同步请求和异步请求

    同步请求和异步请求的区别 1.同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 用户填写所有信息后,提交给服务器,等待服务器的回应(检验数据),是一次性的.信息错误又要重新 ...

  3. 同步请求和ajax请求,ajax 同步请求和异步请求的差异分析

    ajax 同步请求和异步请求的差异分析 发布于 2016-12-27 08:14:26 | 53 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客户端脚本语言Javascript ...

  4. ajax同步请求与异步请求

    在前后台请求数据交互的时候,我们经常用到ajax来进行数据的请求与返回,ajax请求的async字段是boolean类型,用来标识ajax请求是同步请求或者异步请求.async默认为true,异步请求 ...

  5. Servlet学习DAY_02:重定向/ 文件上传/ Cookie和Session/ 导入一个工程 / 配置欢迎页面 / 同步请求和异步请求/JSON和AJax介绍 /过滤器

    重定向 重定向是服务器告诉客户端往指定的路径再次发出请求的指令 执行过程: 当服务器执行重定向方法时会给客户端返回302状态码和一个请求路径,浏览器接收到302后会立即往指定的路径再次发出请求 res ...

  6. IOS 同步请求和异步请求 ios开发教程

    2019独角兽企业重金招聘Python工程师标准>>> 下课了,坐下来静静的总结一下今天学的内容 首先是 同步请求和异步请求 同步请求, 使用主线程一次性获得所有请求数据,这就导致一 ...

  7. SAP UI5中的同步请求和异步请求

    本文介绍SAP UI5中的同步请求和异步请求 Created by Wang, Jerry, last modified on Jul 04, 2016 要获取更多Jerry的原创文章,请关注公众号& ...

  8. Http中的同步请求和异步请求

    最近在上springmvc的JSON数据交换的时候,老师下课提了一个课后问题:什么是异步请求?什么是同步请求?我想大部分同学听到这个问题的时候应该和我一样不知所云.现在,给大家分享一篇关于同步请求和异 ...

  9. 【Objective-C】Http常用API、同步请求与异步请求[转]

    比较实用, 转载保存 开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的API,而它跟其他的面向对象语言有许多共通之处 ...

最新文章

  1. mysql sql w3cschool_SQL复习(w3school)笔记
  2. vue实用组件——页面公共头部
  3. php一篇文零基础到制作在线图片编辑网站赚钱(gif压缩、九宫格裁剪、等比裁剪、大小变换)【php华为云实战】
  4. python注销代码_django用户注册、登录、注销和用户扩展的示例
  5. PHP百度收录量查询接口源码,PHP百度收录量查询接口源码
  6. 【Spring】Spring lazy-init:bean延迟初始化
  7. c语言程序设计万年历的显示,C语言程序设计万年历
  8. 我爱人71年3月出生,档案招工表填成74年了,如何办理退休?
  9. 指定tomcat运行时的JDK版本
  10. 【JAVA】java 堆溢出分析
  11. 智慧医疗解决方案可以大大减少医疗资源浪费!
  12. 选择排序java实现
  13. [工业互联-8]:PLD编程快速概览、PLD五种编程语言与七款常见的PLC编程软件
  14. 浏览器刷新页面导致vuex数据丢失问题如何解决?
  15. 【cocos2dx】记录解决csb创建font字体造成的内存泄漏问题
  16. mysql自定义函数的创建
  17. 微博php面试,新浪微博php实习生
  18. IEEEAccess参考文献整理
  19. 龙测独家AI全新功能上线,手机无感录制,AI自动生成测试用例
  20. html p标签行间距怎么调,css怎么设置行距?

热门文章

  1. html5canvas简单画图
  2. SSH集成log4j日志环境
  3. sql 动态存储过程
  4. windows内核初窥(二)-----系统机制
  5. 【转】Word 2010 取消拼写/语法检查,隐藏红线/绿线
  6. VNC客户端连接MacOS时一闪而过的解决办法
  7. 1292 - Incorrect datetime valuemysql插入非法的时间数据解决方案
  8. C#委托和事件实现观察者模式
  9. Java+Selenium+Testng自动化测试学习(三)— 断言
  10. Tomcat中的连接器是如何设计的