本文主要是介绍Spring中@Async栗子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。
例如, 在某个调用中,需要顺序调用 A, B, C三个过程方法;如他们都是同步调用,则需要将他们都顺序执行完毕之后,方算作过程执行完毕; 如B为一个异步的调用方法,则在执行完A之后,调用B,并不等待B完成,而是执行开始调用C,待C执行完毕之后,就意味着这个过程执行完毕了。
@Async介绍
在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。
如何在Spring中启用@Async
基于XML配置文件的启用方式,配置如下:
<task:annotation-driven executor="myexecutor" />
<task:executor id="myexecutor" pool-size="200-500" queue-capacity="1000" />
基于@Async无返回值调用
@Async //标注使用
public void asyncMethodWithVoidReturnType() { System.out.println("Execute method asynchronously. " + Thread.currentThread().getName());
}
转载:http://blog.csdn.net/blueheart20/article/details/44648667
这篇关于Spring中@Async栗子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!