江象网站建设,微信商城在哪儿打开,WordPress15元主题,天津百度网站排名优化如果不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor。SimpleAsyncTaskExecutor#xff1a;不是真的线程池#xff0c;这个类不重用线程#xff0c;每次调用都会创建一个新的线程。并发大的时候会产生严重的性能问题。
定义通用线程池
EnableAsync
Configuratio…如果不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor。SimpleAsyncTaskExecutor不是真的线程池这个类不重用线程每次调用都会创建一个新的线程。并发大的时候会产生严重的性能问题。
定义通用线程池
EnableAsync
Configuration
public class ThreadTestConfig {Beanpublic Executor taskExecutor() {ThreadPoolTaskExecutor pool new ThreadPoolTaskExecutor();pool.setCorePoolSize(5); //线程池活跃的线程数pool.setMaxPoolSize(10); //线程池最大活跃的线程数pool.setWaitForTasksToCompleteOnShutdown(true);pool.setThreadNamePrefix(lalala);return pool;}
}
Async默认使用Bean Name为executor的线程池。也可以根据Bean Name指定特定线程池
Async(taskExecuter) public void asyncMethod() { sleep(10); System.out.println(async); }