同步与异步详解

同步(synchronize)与异步(asynchronous ):


(一)同步传输与异步传输的区别(硬件):
(1)异步传输:


1)异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。
2)异步传输是指字符与字符(一个字符结束到下一个字符开始)之间的时间间隔是可变的, 并不需要严格地限制它们的时间关系。
3)起始位对应于二进制值 0,以低电平表示,占用 1 位宽度。停止位对应于二进制值 1,以高电平表示,占用 1~2 位宽度。还要附加 1 位奇偶校验位,可以选择奇校验或偶校验方式对该字符实施简单的差错控制。
4)发送端与接收端除了采用相同的数据格式(字符的位数、停止位的位数、有无校验位及 校验方式等)外,还应当采用相同的传输速率


5)优点:
简单、可靠,适用于面向字符的、低速的异步通信场合。
例如计算机与Modem(猫)之间的通信就是采用这种方式。


6)缺点:通信开 销大,每传输一个字符都要额外附加2~3位,通信效率比较低。
例如,在使用Modem上网时,普遍感觉速度很慢,除了传输速率低之外,与通信开销大、通信 效率低也密切相关。






(2)同步传输:
1)同步传输是以数据块为传输单位。


2)每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标 记一个数据块的开始和结束,一般还要附加一个校验序列(如16位或32位CRC校验码),以便对数据块进行差错控制。


3)所谓同步传输是指数据块与数据块之间 的时间间隔是固定的,必须严格地规定它们的时间关系。


4)若干个二进制位构成了一个字,若干个字组成一个数据块,称为帧。




========================================================




(二)进程同步与异步(软件):


(1)简介:
同步是阻塞模式,异步是非阻塞模式。


1)进程同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事.


2)进程异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件(执行部件或处理部件)在完成后,通过状态、通知和回调来通知调用者。


执行部件和调用者通过三种途径返回结果:状态、通知和回调。可以使用哪一种依赖于执行部件的实现,除非执行部件提供多种选择,否则不受调用者控制。如果执行部件用状态来通知,那么调用者就需要每隔一定时间检查一次,效率就很低(有些初学多线程编程的人,总喜欢用一个循环去检查某个变量的值,这其实是一种很严重的错误)。如果是使用通知的方式,效率则很高,因为执行部件几乎不需要做额外的操作。至于回调函数,其实和通知没太多区别。






(2)定义:
当一个进程A存在一个必须执行的操作点,同时该操作点,与另一个进程B的某个操作点存在因果时序关系或先后关系,则A相对B为同步。反之为异步。


(3)举例:


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


2)普通B/S模式(同步)AJAX技术(异步)


同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事。
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕。


3)打电话时同步 发消息是异步。


======================================================


(三)信息同步:


是指将数据备份到服务器上。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值