范围限制了Spring中的@Async

时间:2014-04-28 18:22:18

标签: java spring asynchronous

您好我正在阅读Spring中的Async注释支持。

我有一个疑问,那就是

使用Async注释时是否存在范围限制?

假设

有两种方法m1()m2() m2()本质上是异步的,并从m1()

调用

如果m1()需要5分钟执行,而m2()需要15分钟,那会是什么行为?

5分钟后我会得到输出吗?或m1()会等到m2()被执行?

我理解Async会使m2()在不同的帖子中执行,但只是不确定上述情况

1 个答案:

答案 0 :(得分:0)

据推测,当m2()完成后执行回调方法(如果确实存在回调方法)时,您将得到结果。当m1()完成时,没有结果要检查。答案是15分钟加上m1()调用m2()需要很长时间。

如果m1()不依赖于m2()的结果,那么当m1()完成时你应该输出你的输出,但这并不意味着运行m2()调用的线程已经完成。