切面是异步还是同步操作‘_程序优化浅谈多任务的异步执行

当一个接口随着需求被设计的越来越复杂时,接口中执行方法的复杂程度就成为接口性能的瓶颈,对一些任务进行并行处理变得很有必要,例如我们早先提到过的rpc(远程过程调用)服务

Rpc到底是个啥

在一些对数据同步不是特别敏感的场景下,例如下面这个逻辑

获取一个商品的价格后,然后远程过程调用另外一个服务上该商品的打折券接口的数据,最后将数据汇总返回给用户

这个过程原来是串行的,但是很显然这两个任务可以去并行执行,从而缩短整个过程处理的时间,远程过程调用相对于主过程来说可以是异步去执行的

在文章开始之前,我们还是要介绍下同步,异步,阻塞,非阻塞这几个概念

1 同步与异步

同步与异步相对于程序来说,关注的是程序之间的协作关系(消息通信方式)

同步:当执行同步操作时,调用者要一直等待调用结果的通知后,才能进行后续的操作

异步:当执行异步操作时,调用者不需要立刻等待调用结果的返回,而是转去继续执行自己的方法,要想获得结果,有两种方法

  • 主动轮训异步调用的结果
  • 被调用房利用callback通知调用方获取结果

我们以小明去洗衣房洗衣服为例

同步执行:小明去洗衣房洗衣服,将衣服放入其中一个洗衣机后,就在洗衣房旁边开始思考人生?,洗了快40分钟,衣服洗好后,他把衣服取了出来,回宿舍扫地...

大家都能看出来,中间这40分钟,小明没有有效的利用起来

异步执行

1.小明把衣服放入洗衣机后,每隔10分钟都要亲自去看洗好了没,洗衣房老板都烦了...

2.小明将衣服放入洗衣机后,和洗衣房老板约定好,衣服洗好后,老板会打电话给小明,于是小明趁着洗衣服的时间,回宿舍把地给扫了,顺便和朋友打了一把王者荣耀,这时洗衣房打电话过来给小明,通知小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值