首页 > 编程知识 正文

springboot同步线程,java线程池工作流程

时间:2023-05-06 02:35:27 阅读:127282 作者:103

多线程异步调用的使用方案:在复杂的业务逻辑中,事务链接太长,使用多线程异步服务来提高效率

1、线程池配置类

package com.f bank.dis _ mid ware.config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; importorg.spring帧work.context.annotation.bean; importorg.spring framework.context.annotation.configuration; importorg.spring帧. scheduling.annotation.enable async; importorg.spring framework.scheduling.concurrent.threadpooltaskexecutor; import Java.util.concurrent.executorservice; import Java.util.concurrent.thread pool executor; /** *线程池配置*//@ configuration @ enable async//publicclassthreadexecutorconfig { privatefinalloggerlogger=logerfatior /**最大线程数*/private int maxPoolSize=200; /**队列数*/private int queueCapacity=10;/* * @ configuration=bean/bean * @ bean=bean/bean *返回类型对应于bean/bean属性' class '的value *方法名称为bean/bean threadpooltaskexecutorexecutor=newthreadpooltaskexecutor (; 执行程序. setcorepoolsize (corepoolsize; executor.setmaxpoolsize (maxpools ize; executor.setqueuecapacity; executor.setthreadnameprefix (' test-FX B- draw-service-'; //rejection-policy:pool达到最大大小时如何处理新任务//CALLER_RUNS :不是在新线程上运行任务, return executor.getthreadpoolexecutor,执行执行executor.setrejectedexecutionhandler的调用程序所在的线程executor.initialize (的初始化) 2、依赖注入异步服务

注:配置的name值引用上面配置的方法名称,即bean的id

3、实用中的代码(业务逻辑中的代码),这样多线程就可以在业务中使用了。

futuremapqueryacct=async service.submit---{ logger.info------------ 1两种类型的用户查询returnaccountion ); futurestringquerycoredate=async服务. submit---{ logger.info-------------1.2查询的核心时间returngetcoredatesesesete ); futuremapquerycustomcertifiedinfo=async service.submit---{ logger.info---------------------------------- - ------------------------------------------.---------------------------------------------- ) ) ) 652 returncustominfoapi.querycustomcertifiedinfo (concurrparams ); ); try { Map acctInfo=queryAcct.get (; dubbo查询中两种类型的用户的返回值stringcoredate=querycoredate.get (; 异步调整dubbo查询核心时间的结果mapcustomcertifiedinfo=querycustomcertifiedinfo.get (; 异步调整dubbo查询身份证信息的结果(catch(exceptione ) { e.printStackTrace ); (4、代码解释:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。