(转)关于同步和异步的理解(ajax网络编程)
2008-08-21 16:14
399 查看
在计算机中,经常会出现异步这个概念,那么该这么理解它呢?
先举个例子:
比如说我打电话给你向你请教些问题,你接到电话后说自己需要查一些资料,这时我有两个选择,如果你说你很快就能搞定,那么我就拿着听筒,等待你的结果,这便是同步,而如果你说要花较长时间,那么我就不用在那里傻等,我说我先挂掉电话你找到资料后再通知我吧,这时我就干别的事情去了,这便是异步
同步是串行的,符合一般的结构化过程,一个函数调用就知道最终执行结果 。
异步是并发的,在操作过程中不用等待,效率较高,但处理起来较麻烦。
同步如果在电信传输中指的是发送和接收端在每个相同的周期发送和接收,每一单位数据在时钟的定位下收发;异步指发送事件并不发生在每个固定的时钟周期上,而是不定期的发送一批数据。
对于软件上,同步是指一个进程/线程执行一个操作后,等待另一个进程/线程的动作后在继续,如同两个进程按一定规则,你等等我我等等你一起走;异步是说一个进程作了一个操作后,不用等待另一进程的结果就继续向下进行,两个进程的事件上没有同部的关系。
所以socket同步传送,程序返回就知道传完了,异步送和收的动作可能相差很久,需要队列、缓冲区等方式先将数据保留。
网络编程中也是这个道理,ajax是异步工作的,不需要服务器每次多发送数据,刷新整个页面,而只需要部分刷新就可以了。
先举个例子:
比如说我打电话给你向你请教些问题,你接到电话后说自己需要查一些资料,这时我有两个选择,如果你说你很快就能搞定,那么我就拿着听筒,等待你的结果,这便是同步,而如果你说要花较长时间,那么我就不用在那里傻等,我说我先挂掉电话你找到资料后再通知我吧,这时我就干别的事情去了,这便是异步
同步是串行的,符合一般的结构化过程,一个函数调用就知道最终执行结果 。
异步是并发的,在操作过程中不用等待,效率较高,但处理起来较麻烦。
同步如果在电信传输中指的是发送和接收端在每个相同的周期发送和接收,每一单位数据在时钟的定位下收发;异步指发送事件并不发生在每个固定的时钟周期上,而是不定期的发送一批数据。
对于软件上,同步是指一个进程/线程执行一个操作后,等待另一个进程/线程的动作后在继续,如同两个进程按一定规则,你等等我我等等你一起走;异步是说一个进程作了一个操作后,不用等待另一进程的结果就继续向下进行,两个进程的事件上没有同部的关系。
所以socket同步传送,程序返回就知道传完了,异步送和收的动作可能相差很久,需要队列、缓冲区等方式先将数据保留。
网络编程中也是这个道理,ajax是异步工作的,不需要服务器每次多发送数据,刷新整个页面,而只需要部分刷新就可以了。
相关文章推荐
- 关于ajax的同步和异步
- 关于同步,异步,阻塞,非阻塞的理解
- 关于同步异步,阻塞非阻塞的理解
- 关于$.ajax同步和异步的问题和提交后台的一些问题。
- 关于AJAX的异步与同步的差异性比较
- (java学习)关于对java中的同步和异步的理解
- 关于GCD 队列,同步异步的理解
- 深入理解AJAX系列第三篇--async属性值之同步和异步及同步和异步区别
- 关于HTTP请求、Ajax请求,请求的同步和异步
- 关于AJAX同步和异步的研究
- ajax 异步同步的理解
- 深刻理解ajax中同步和异步的区别和使用场景
- 对Ajax同步异步的理解
- 关于JQUERY里的AJAX缓存和同步异步问题
- 关于同步、异步与阻塞、非阻塞的理解
- 关于ajax异步操作和同步操作参数设置
- 关于[同步异步]和[阻塞非阻塞]的个人理解
- 转载:关于多线程,并发、并行、同步、异步的理解
- ajax用法及关于同步异步的说明
- ajax同步与异步的理解