浅析同步和异步

理解同步和异步,过段时间再去想,感觉有点把两者混淆了,重新梳理下

基本概念:

同步:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

异步:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。

 区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。

例如:

同步:当程序1调用程序2时,程序1停下不动,直到程序2完成回到程序1来,程序1才继续执行下去。  
异步:当程序1调用程序2时,程序1径自继续自己的下一个动作,不受程序2的的影响。

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。

同步:打电话

异步:发消息

当时公司有个小需求,一个邮件发送的功能,需要前端页面提交邮箱等个人信息,提交成功后,提示用户邮件已经发送,请及时查看邮箱,这个请求我想的是,只是用户信息的提交,没有涉及到发邮件的步骤,提示结果是告诉用户及时查看

而当时后台的处理逻辑是同步处理的,我时常理解为串行(同步),并行(异步),他是在图片附件等压缩后,才给我返回success信息,这个压缩的时间大概10-20秒,而这时用户需要等待这么久,我觉得严重影响了用户体验,后让其修改成了异步处理,我提交信息后发送,如果没有发送成功,按照失败记录再次发送,按照产品的使用场景,可以决定同步或异步的处理逻辑。

特此记录。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值