Spring对多线程提供了非常好的封装,使用起来比较方便,但还是有一些需要注意的地方,这里记录一下自己之前使用Spring的线程池进行开发时遇到的一些问题以及相关的使用技巧。
如何使用Spring线程池
在SpringBoot中你需要使用@EnableAsync
来启用Spring框架内置的线程池,这个注解可以加在你的Application类上,也可以放在一个标注有@Configuration
的配置类上。通常都需要通过一个配置类来配置线程池相关属性,在SpringBoot中,线程池的配置类需要实现AsyncConfigurer
接口中的相关方法,该接口提供了两个方法getAsyncExecutor
以及getAsyncUncaughtExceptionHandler
@Configuration
@EnableAsync
public class SpringAysncExecutorConfig implements AsyncConfigurer {
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
// 最小线程数(核心线程数)
taskExecutor