使用@Async标签 导入包 org.springframework.scheduling.annotation.Async 并配置并发线程池asyncTaskConfig 实现AsyncConfigurer接口 连接池注解 @EnableAsync @Configure
重写接口getAsyncExecutor方法 并返回ThreadPoolTaskExecutor实例 实例化ThreadPoolTaskExecutor 并对其进行初始化:corePoolSize(最小线程数)、maxPoolSize(最大线程数)、QueueCapacity(等待队列)、AwaitTerminationSecond(设置线程池任务等待时间 超过时间强制关闭)、WaitForTasksToCompleteOnShutdown(TRUE/false设置线程池关闭时间等待所有任务完成再继续销毁其他bean) 、initialize 实例化后返回实例。
重写getAsyncUncaughtExceptionHandler()方法
在application类中 加EnableAsync注解
如需等待异步返回结果
则需引入org.springframework.scheduling.annotation.AsyncResult以及util.concurrent.Future
异步服务返回值Future<集合>
异步等待关键词
CountDownLatch、CyclicBarrier、Semaphore