A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2013-10-5 23:15  /  2885 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 FFF 于 2013-10-5 23:44 编辑

所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。而异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务最终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。

网上有很多网友用很通俗的比喻  把同步和异步讲解的很透彻 转过来

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

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
再举个例子:
打电话,同步。我请你吃饭,打电话问你你来不来。你回答了说来就一起去吃饭,那我请你吃饭成功。你说不来那请你吃饭失败,我也不去了。一直等你答复。
发短信,异步。还是请你吃饭,发信息,问你来不来,然后我先吃饭,你来了,就请你吃(请吃饭成功),你没来我就自己吃(但是请你吃饭失败)。不等你答复。

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马