SpringBoot中如何实现异步方法调用的代码示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1219个文字,预计阅读时间需要5分钟。
一、背景+项目中将遇到异步调用其他方法的情况,例如:有一个计算过程,需要计算多个指标的值,但每个指标的计算效率不同。如果采用同步执行的方式,运行这个计算过程会非常慢。
一、背景
项目中肯定会遇到异步调用其他方法的场景,比如有个计算过程,需要计算很多个指标的值,但是每个指标计算的效率快慢不同,如果采用同步执行的方式,运行这一个过程的时间是计算所有指标的时间之和。比如:
方法A:计算指标x,指标y,指标z的值,其中计算指标x需要1s,计算指标y需要2s,指标z需要3s。最终执行完方法A就是5s。
现在用异步的方式优化一下
方法A异步调用方法B,方法C,方法D,方法B,方法C,方法D分别计算指标x,指标y,指标z的值,那么最终执行完方法A的时间则是3s。
还有一种用途是当一个业务里面需要多个请求时,这时候异步并发请求所得到的回报远远是物有所值的。
本文共计1219个文字,预计阅读时间需要5分钟。
一、背景+项目中将遇到异步调用其他方法的情况,例如:有一个计算过程,需要计算多个指标的值,但每个指标的计算效率不同。如果采用同步执行的方式,运行这个计算过程会非常慢。
一、背景
项目中肯定会遇到异步调用其他方法的场景,比如有个计算过程,需要计算很多个指标的值,但是每个指标计算的效率快慢不同,如果采用同步执行的方式,运行这一个过程的时间是计算所有指标的时间之和。比如:
方法A:计算指标x,指标y,指标z的值,其中计算指标x需要1s,计算指标y需要2s,指标z需要3s。最终执行完方法A就是5s。
现在用异步的方式优化一下
方法A异步调用方法B,方法C,方法D,方法B,方法C,方法D分别计算指标x,指标y,指标z的值,那么最终执行完方法A的时间则是3s。
还有一种用途是当一个业务里面需要多个请求时,这时候异步并发请求所得到的回报远远是物有所值的。

