springboot多任务并行+线程池处理+等待获取执行结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot多任务并行+线程池处理+等待获取执行结果相关的知识,希望对你有一定的参考价值。

参考技术A 在日常的开发项目过程中,时常会有多线程的使用场景。最近开发的需求中也是如此,只不过这次需要开启多线程去执行,最后要等所有线程结束统一获取结果。所以在此整理一下,我们目前用的是方法二。

启动类添加@EnableAsync注解

service层方法

参考:
SpringBoot线程池ThreadPoolExecutor
SpringBoot线程池ThreadPoolTaskExecutor

Future配合线程池进行多线程任务并返回结果

参考技术A 此次需求做的是同步功能,将第三方数据拉取到本地

1、同步将由多线程进行,节省时间
2、拉取过来后将与本地表进行对比:add、update、delete三种情况
3、本地数据修改后,将通过rabbitmq形式发送消息到其他服务进行业务处理。

通过submit 方法能够获取线程的返回结果

通过execute方法不会获取线程返回

在此 我使用了submit方法来执行多线程任务

一般来说Future和Callable是搭配在一起使用的

get方法为阻塞式超过最大等待时间将抛出异常

以上是关于springboot多任务并行+线程池处理+等待获取执行结果的主要内容,如果未能解决你的问题,请参考以下文章

python多线程并行计算通过向线程池ThreadPoolExecutor提交任务的实现方法

资源的调度——线程池

定时任务多线程的实现

C#多线程开发-任务并行库

多线程基础线程池

SpringBoot自定义异步任务线程池