不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor
生活随笔
收集整理的這篇文章主要介紹了
不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如果不自定義異步方法的線程池默認使用SimpleAsyncTaskExecutor。SimpleAsyncTaskExecutor:不是真的線程池,這個類不重用線程,每次調(diào)用都會創(chuàng)建一個新的線程。并發(fā)大的時候會產(chǎn)生嚴重的性能問題。
定義通用線程池
@EnableAsync @Configuration public class ThreadTestConfig {@Beanpublic Executor taskExecutor() {ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor();pool.setCorePoolSize(5); //線程池活躍的線程數(shù)pool.setMaxPoolSize(10); //線程池最大活躍的線程數(shù)pool.setWaitForTasksToCompleteOnShutdown(true);pool.setThreadNamePrefix("lalala");return pool;} }@Async默認使用Bean Name為executor的線程池。也可以根據(jù)Bean Name指定特定線程池
@Async("taskExecuter")
? public void asyncMethod() {
? ? sleep(10);
? ? System.out.println("async");
? }
總結(jié)
以上是生活随笔為你收集整理的不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pip安装报错处理+PyPi源切换教程
- 下一篇: 花生壳:域名诊断—客户端离线