java 同步与异步区别_同步和异步有何异同,在什么情况下分别使用它们?
2015-05-12 06:30:01
阅读( 4 )
通俗版:举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
——————————————————————————————————————–
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
——————————————————————————————————————–
举个例子 打电话时同步 发消息是异步
综述版:
异步通信”是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
异步通信也可以是以帧作为发送的单位。接收端必须随时做好接收帧的准备。这是,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为帧定界。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。每个字符开始发送的时间可以是任意的t0 0 1 1 0 1 1 0起始位结束位t每个帧开始发送的时间可以是任意的以字符为单位发送以帧为单位发送帧开始帧结束。
“同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。但这时还有两种不同的同步方式。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。另一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。
串口进行通信的方式有两种:同步通信方式和异步通信方式。同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。
分享给朋友:
亲~ 如果您有更好的答案 可在评论区发表您独到的见解。
您想查看更多的信息:
面试题
java 同步与异步区别_同步和异步有何异同,在什么情况下分别使用它们?相关推荐
- java同步异步区别_同步请求和异步请求的区别
同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的 ...
- 调试的时候step into,step out,step over有什么区别?各有什么作用?分别在什么情况下使用?
回答1 main() {run();wait();start();} run() {carrun(); } 如果当前箭头在来main(), stepover 就是 只看当前这一层调用函数源名. run ...
- java同步接口和异步接口_同步接口和异步接口
定义 答案:来自网络搜索 同步调用:当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果.但是这个结果,只是告诉你调用成功了,不是扣款成功,这叫同步调用; 异步调用:同步请求参数里面会有一个回 ...
- 同步电复律英文_同步电复律与非同步电复律有什么区别?
展开全部 同步电除颤的适应症是治疗--房颤.房扑.室32313133353236313431303231363533e59b9ee7ad9431333365653161上速.室速等快速心律失常,经电除 ...
- 同步fifo的串并_同步fifo
利用verilog实现FIFO 摘要:本文先介绍了一下关于FIFO的基本概念,工作原理,功能,同步与异步的分类等.然后基于RAM实现了一个同步FIFO.该FIFO通过巧妙地应用地址位和状态位的结合实现 ...
- java跟c 的区别_【c++跟java的区别】java跟c语言的区别
Java与C/C++作为编程语言的两大巨头,他们有什么区别呢?下面是小编为大家准备的c++跟java的区别,希望大家喜欢! c++的定义 C++是一种面向对象的计算机程序设计语言.C++这个词在中国大 ...
- 同步电复律英文_同步电复律操作规程
同步电复律操作规程 目的 中止血液波动力学不稳定的心动过速性心律失常, 同时也可将血液动力 学稳定的房颤或房扑转为窦律. 相关知识 1 同步电复律是指同步触发装置能利用患者心电图中 R 波来触发 放电 ...
- 异步解耦_如何使用异步生成器解耦业务逻辑
异步解耦 Async generators are new in JavaScript. They are a remarkable extension. They provide a simple ...
- python django异步访问_初试Ajax异步请求(基于Django框架)
概要: Ajax异步请求数据之前就听朋友提起过,但是之前一直没有什么机会使用这个技术,就没有去了解,后面在做网站评论这一功能时,为了使用户评论之后不用刷新网页就能够看到刚刚评论的数据,所以决定使用Aj ...
最新文章
- springboot项目打包部署服务器
- 扫描仪图标无法显示计算机,win7“我的电脑”中不显示扫描仪和摄像头的原因和解决方法...
- android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存
- 我与AI:我的“机器学习”过程
- sql 统计记录条数后 打印出所有记录_用SQL完成购买行为分析(下篇II)
- intent隐式和显式_Neo4j:使隐式关系成为显式和双向关系
- Silverlight - IIS 7.5 部署SilverLight4网站以及问题解决
- Javascript 对象二(Number、String、Boolean、Array、Date、Math、RegExp)
- Windows平台RTMP/RTSP播放器如何实现实时音量调节
- 取模(mod)与取余(rem)的区别——Matlab学习笔记
- bind_param 类怎么写_情感类自媒体怎么写?你不知道的情感类文章4大禁忌!
- caffe+GPU︱AWS.G2+Ubuntu14.04+GPU+CUDA8.0+cudnn8.0
- linux xfs 字体服务,Linux下Python和Tkin的字体管理
- (TPC-H测试 SF=10,SF=200) PostgreSQL 11 vs 10 vs Deepgreen
- 手机视频性能测试软件,视频性能检测工具——安兔兔视频测试
- COOC6.2增加同义词合并无意义词删除等功能
- 每期智力题、数量关系题、推理判断题
- Symbolic Breakpoint使用
- R计算两列数据的相关系数_使用R语言中的corrplot来绘制相关系数矩阵热图
- AngularJs搭配Bootstrap-select的防坑指南