imjacob的专栏

首页博文目录订阅
正 文

同步和异步的区别

(2006-11-23 21:15)
答案一:
1.异步传输

通常,异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。所谓异步传输是指字符与字符(一个字符结束到下一个字符开始)之间的时间间隔是可变的,并不需要严格地限制它们的时间关系。起始位对应于二进制值 0,以低电平表示,占用 1 位宽度。停止位对应于二进制值 1,以高电平表示,占用 1~2 位宽度。一个字符占用 5~8位,具体取决于数据所采用的字符集。例如,电报码字符为 5 位、ASCII码字符为 7 位、汉字码则为8 位。此外,还要附加 1 位奇偶校验位,可以选择奇校验或偶校验方式对该字符实施简单的差错控制。发送端与接收端除了采用相同的数据格式(字符的位数、停止位的位数、有无校验位及校验方式等)外,还应当采用相同的传输速率。典型的速率有:9 600 b/s、19.2kb/s、56kb/s等。

异步传输又称为起止式异步通信方式,其优点是简单、可靠,适用于面向字符的、低速的异步通信场合。例如,计算机与Modem之间的通信就是采用这种方式。它的缺点是通信开销大,每传输一个字符都要额外附加2~3位,通信效率比较低。例如,在使用Modem上网时,普遍感觉速度很慢,除了传输速率低之外,与通信开销大、通信效率低也密切相关。


--------------------------------------------------------------------------------

2. 同步传输

通常,同步传输是以数据块为传输单位。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列(如16位或32位CRC校验码),以便对数据块进行差错控制。所谓同步传输是指数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。 

答案二:
请讲详细一些,本人比较弱智,谢谢各位  
---------------------------------------------------------------  
 
同步是阻塞模式,异步是非阻塞模式。  
---------------------------------------------------------------  
 
我的理解:同步是指两个线程的运行是相关的,其中一个线程要阻塞等待另外一个线程的运行。异步的意思是两个线程毫无相关,自己运行自己的。  
 
不知对错?楼下说  
---------------------------------------------------------------  
 
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。  
 
CSDN上有讨论过:  
http://expert.csdn.net/Expert/topic/2646/2646592.xml?temp=.3842584  
http://expert.csdn.net/Expert/topic/2659/2659726.xml?temp=.1480219  
---------------------------------------------------------------  
 
举个不太恰当的例子,就像:  
SendMessage(...)  
TRACE0("just  like  send");  
 
PostMessage(...)  
TRACE0("just  like  WSASend  using  overlapped");  
 
SendMessage是调用的时候不返回,等消息响应后才执行TRACE0,这就是同步.  
PostMessage是调用后马上返回,不用消息响应就执行TRACE0,这就是异步.

答案三:

 举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
--------------------------------------------------------------------------------------------------------------------
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。

所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
--------------------------------------------------------------------------------------------------------------------
举个例子 打电话时同步 发消息是异步


评 论
39楼 52RD网友 发表于 2017-7-20 11:20 回复
同步就是接力跑,异步就是瞎跑.
38楼 52RD网友 发表于 2017-6-11 10:27 回复
35楼 52RD网友说:答案3太绝了
啊里巴巴
37楼 52RD网友 发表于 2014-1-2 21:13 回复
大神,小弟学习了,膜拜了。。。太形象了、太生动了。尤其是例三。。。
36楼 52RD网友 发表于 2013-6-26 11:08 回复
25楼 Wukong说:不同的场景下,同步异步有不同的概念吧。答案2和3,其实都是逻辑上的同步/异步,个人以为比较适合软件工程师,但很多硬件/底层协议上的同步异步,似乎不能这么简单理解。倒是17 楼的见解,很是受教。
民234
35楼 52RD网友 发表于 2013-6-26 11:07 回复
答案3太绝了
34楼 52RD网友 发表于 2013-6-6 11:26 回复
8楼 乐乐(游客)说:没得说经典哈哈
sadf
33楼 52RD网友 发表于 2012-9-25 09:52 回复
不错,写的太神了
32楼 4729049 发表于 2012-6-28 11:51 回复
支持简单通俗的解释方法,但是这种方法需要解答这对原理完全吃透后再用自己的话说出来,这个比直接的照本宣科难度高的多,顶一下答案3!
31楼 52RD网友 发表于 2012-3-29 14:22 回复
谢谢,17楼
30楼 jazzzz 发表于 2012-1-19 15:16 回复
谢谢17楼
29楼 52RD网友 发表于 2011-11-2 09:40 回复
答案三copy的不错啊!!
28楼 52RD网友 发表于 2011-10-2 11:19 回复
答案3太绝了,如果个个写书的都能讲的像这样通俗,中国的科技普及有希望了!!!鼓励!!!
27楼 52RD网友 发表于 2011-3-16 15:12 回复
楼三就是厉害啊
26楼 52RD网友 发表于 2009-12-31 17:34 回复
saaaa
25楼 Wukong 发表于 2009-9-27 13:42 回复
不同的场景下,同步异步有不同的概念吧。答案2和3,其实都是逻辑上的同步/异步,个人以为比较适合软件工程师,但很多硬件/底层协议上的同步异步,似乎不能这么简单理解。倒是17 楼的见解,很是受教。
24楼 52RD网友 发表于 2009-9-17 18:15 回复
一绝...楼上三答案 通俗易懂!
23楼 52RD网友 发表于 2009-8-12 10:08 回复
幽默而又生动 的解答
22楼 asp00(游客) 发表于 2009-8-11 22:15 回复
学习!
21楼 52RD网友 发表于 2009-5-26 18:59 回复
顶了~~ 真是学习到了
20楼 52RD网友 发表于 2009-4-15 18:24 回复
很好。。。
19楼 52RD网友 发表于 2009-2-27 09:53 回复
接触到了这个概念也有一段时间了,但今天才真正明白,谢谢!
18楼 心烛(游客) 发表于 2008-11-13 12:02 回复
答案三,经典,佩服!我会保存下来!
17楼 52RD网友 发表于 2008-11-10 17:32 回复
有两个方面的同步问题: 一方面是基础的,即如何正确接收每一位,称为位同步每一位码元如何同步,即位同步,要想做到位同步,需要两端时钟相同,而两端时钟总是有差别,一是时钟设定不一样,另一是即使时钟设定相同,但由于两端时钟有误差,这种误差很小,在几个码元的时间内不会产生影响,但这种误差是会积累的,在一定的时间后,这种误差就会对正确接受产生影响,因此,在两端对时完成之后,不见得就不会出错,由于误差的积累影响,就需要不断的对时间进行监视和调整,有一种方法是增加一条线,专门传输时钟信号,但一是要增加投资,二是传输也会有差错,所以不可靠。通常的方法是直接从信号中提取时钟信息,即自同步法,要用到数字锁相方法,即在接收信号的跳变上升沿产生一个校正脉冲,再和本地端时钟上升沿比较,由于本地对接收信号的采样是在本地端时钟上升沿对准接收信号的中间处,则校正脉冲和本地端时钟上升沿的相差小于码元周期的一半即可,如不满足这个条件,就把差别信息输入计数器,产生一个数量信息去控制分频器,从而产生一个正确的时钟信号。这样每位码元能够正确接收。(从数字锁相的角度看,数字信号的码型很重要,NRZ码 在发送一长串1或0时没有跳变,不易于提取时钟信号,而曼彻斯特码每个码元中间有跳变,则易于提供时钟信息,易于同步) 另一方面是从内容上来说的,是内容的同步,信息的同步,而上面的位同步是物理上的同步,在数字数据中,信息是由一系列二进制代码组合表示的,实际中,通常是由若干个码元组成一个码元块,称为一个字,由若干个字组成一个数据块,称为帧,数据帧可以作为数据传输的单位。要正确接收信息,就要正确识别数据帧,要正确识别数据帧,需要确定帧的首尾,如果起点搞错了,虽然正确的接收了一串代码,但这段代码表示的信息不是原数据帧的信息,接收就失败了,所以,要正确识别帧的起点对应的码元,再按照数据帧规定的长度接收后续码元,才能正确接收数据帧,此即帧同步。帧同步的实现方法通常是在一长串信息字前加上一个字(或几个),这个字称为同步字,是特别规定的(通常有一定的规律),接收端不断的检测收到的代码,一旦发现同步字,就是找到了帧的起点,然后接收后面的信息字,为正确接收信息字的各个码元(位),要用到位同步技术。另外,当帧的长度很短时,特殊的情况是只有一个字符,即一个字符组成的数据(帧),实现上有所不同,第一是不用同步字,太划不来,第二是接收数据位不用位同步技术,因为只有几个码元,积累误差小,字的首尾使用起始位和停止位表示,字符与字符之间是空闲位,接收端检测到起始位就是字符的开始,在起始位要校准时钟。这种帧同步因为只有一个字符,所以也称字同步,也称起止式同步,由于字符之间的空闲时间不等,也称为异步通信方式,而把前一种称为同步通信方式位同步是保证正确接收码元, 是比特同步,帧同步是保证正确接收信息,是信息同步。仅仅只有位同步是没有意义的,因为位同步不能让我们直接识别信息,只有帧同步才能接受准确信息,而准确接收信息的前提是每一位正确的接收,所以,位同步是帧同步的基础,是帧同步的一部分技术。我们说的数据通信的同步问题实际上就是帧同步。另外,我们常说的同步传输和异步传输,是帧同步的两种不同手段,或不同情况。(所以,一般的教材中说同步问题,就只说同步和异步传输方式,实际上就是帧同步(狭义的,指同步传输)和字同步(指异步传输),字同步是特殊的帧同步,在起点校准时钟,其他位不须使用位同步技术,因为码元数量少,在起点校准时钟后,一个字符时间内积累误差不大). 可以想象通信的开始过程,接受方实际上是在找帧的起始,这是通信的目的,位同步是为这个目的服务的。 from:http://www.cnblogs.com/JeffChen/archive/2007/04/13/711969.html
16楼 52RD网友 发表于 2008-9-27 14:29 回复
答案三的老师!我QQ24040486!我叫闫飞,谢谢。学生愿与你做个朋友。
15楼 52RD网友 发表于 2008-9-27 14:26 回复
答案3!!!!你的答案真绝了!!!!我真服了!!!!!我转走了,保存下来!
14楼 52RD网友 发表于 2008-9-21 22:56 回复
牛!!!
13楼 52RD网友 发表于 2008-8-18 12:08 回复
从传输的角度来说,同步(数据传输)是有顺序的;异步就不讲究顺序.
12楼 52RD网友 发表于 2008-6-19 11:09 回复
恩,理解了!谢谢!
11楼 52RD网友 发表于 2008-5-14 09:12 回复
不错, 我请你吃饭
10楼 haha(游客) 发表于 2008-1-13 17:12 回复
ding
9楼 345(游客) 发表于 2007-11-29 11:00 回复
路由器上的 DM 是什么模式
8楼 乐乐(游客) 发表于 2007-9-1 12:54 回复
没得说经典哈哈
7楼 bbird.bian(游客) 发表于 2007-8-24 09:30 回复
哈哈 經典,鼎!
6楼 dspchunjie 发表于 2007-8-19 10:22 回复
茅塞顿开
5楼 LO风花雪月VE(游客) 发表于 2007-7-29 18:32 回复
答案三的朋友请留个QQ,估计你是老师吧,简单几个字就让我搞明白了同步异步,厉害,呵...的确,如果现在出版的书能这样用很贴切的生活来做例子,那我估计中国的计算机时代就会更猖狂了!加我QQ:53112850,验证就说你是答案三我就知道你是谁了,OK?期待你哟
4楼 hh(游客) 发表于 2007-6-25 11:35 回复
答案3太绝了,如果个个写书的都能讲的像这样通俗,中国的科技普及有希望了!!!鼓励!!!
3楼 顶答案三(游客) 发表于 2007-5-10 11:34 回复
答案三的答案太好了.有很通俗的记忆理解方法,支持出本书.我一定支持,买
2楼 imjacob 发表于 2006-12-8 21:50 回复
最后补充以下, 在数电中,同步是指共用一个时钟信号,异步是指两个芯片用的时钟信号不是同一个。
1楼 fengfeng(游客) 发表于 2006-12-7 11:05 回复
答案3太绝了,如果个个写书的都能讲的像这样通俗,中国的科技普及有希望了!!! 鼓励!!!
博 主
进入imjacob的首页
博客名称:雅克的一府
日志总数:514
评论数量:901
访问次数:1833329
建立时间:2006-11-23 20:52
导 航
公 告
Locations of visitors to this page 本博客主要用于个人学习与资料收藏。当然大家应该读了之后也能学到不少东西。其中大多数资料都是来自网络,我转载时尽可能地表明文章出处与原作者姓名,但由于很多资料经多人转载,已不清楚原作者信息与出处,所以未表明相关…
评 论
链 接

ARM+LINUX 嵌入式博客
http://blog.chinaunix.net/u1/58780/index.html

嵌入式软件
http://blog.csdn.net/embeddedsoft

诚诚恳恳做人踏踏实实编程
http://blog.sina.com.cn/u/1244756857 

和我风格相似的一个blog
http://blogger.org.cn/blog/m…