【Java】@EnableAsync@Async使用总结
在使用多线程的时候,往往需要继承Thread类
,或者实现Runnable接口
,如果要使用到线程池,还需要来创建Executors
,在Spring中已经做了很好的支持。只要要@EnableAsync
就可以使用多线程。使用@Async
就可以定义一个线程任务。通过Spring提供的ThreadPoolTaskExecutor
就可以使用线程池。
默认情况下,Spring将搜索相关的线程池定义:要么在上下文中搜索唯一的TaskExecutor bean
,要么搜索名为“taskExecutor
”的Executor bean
。如果两者都无法解析,则将使用SimpleAsyncTaskExecutor
来处理异步方法调用。
配置类
@Configuration:用于定义配置类,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext
或AnnotationConfigWebApplicationContext
类进行扫描,并用于构建bean定义,初始化Spring容器;
@EnableAsync:开始对异步任务的支持。
package