当前位置: 首页 > news >正文 网站推广托管深圳软件定制公司排名 news 2025/10/29 8:15:39 网站推广托管,深圳软件定制公司排名,网络推广的渠道有哪些,为什么搜索不到刚做的网站概述 需求是想在线程池执行任务的时候#xff0c;在开始前将调用线程的信息传到子线程中#xff0c;在子线程完成后#xff0c;再清除传入的数据。 下面使用了spring的ThreadPoolTaskExecutor来实现这个需求. ThreadPoolTaskExecutor 在jdk中使用的是ThreadPoolExecutor…概述 需求是想在线程池执行任务的时候在开始前将调用线程的信息传到子线程中在子线程完成后再清除传入的数据。 下面使用了spring的ThreadPoolTaskExecutor来实现这个需求. ThreadPoolTaskExecutor 在jdk中使用的是ThreadPoolExecutor用于自定义线程池。 在spring中则是对ThreadPoolExecutor又包了一层加了一些参数进去ThreadPoolTaskExecutor,然后作为bean注入到spring的ioc容器中. 通常在使用线程池的时候想把调用线程的一些信息传递给子线程(线程池中的线程)一般都是要自己写一个装饰器然后把装饰器传递给线程池的execute方法。 不过spring中已经有现成的方法了就在ThreadPoolTaskExecutor中可以给定自定义的装饰器。 org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor#initializeExecutor 可以看到在初始化的时候会判断是否存在装饰器 ThreadPoolTaskExecutor使用装饰器传递调用线程信息 这样线程池中的线程在执行的时候都会经过装饰器处理要注意的是在线程执行完成之后需要把信息清理不然信息会串的 package org.xxx.common.core.executor.decorator;import org.slf4j.MDC; import org.springframework.core.task.TaskDecorator; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder;import java.util.Map;/*** 对spring的线程中的线程进行装饰*/public class ContextCopyingDecorator implements TaskDecorator {Overridepublic Runnable decorate(Runnable runnable) {try {//当前请求上下文RequestAttributes context RequestContextHolder.currentRequestAttributes();//copy当前调用线程的 ThreadLocalMap 中保存的信息MapString,String previous MDC.getCopyOfContextMap();return () - {try {//http request上下文塞到当前线程中RequestContextHolder.setRequestAttributes(context);//将调用线程的 ThreadLocalMap 塞到当前线程MDC.setContextMap(previous);runnable.run();} finally {//clearRequestContextHolder.resetRequestAttributes();MDC.clear();}};} catch (IllegalStateException e) {return runnable;}} }//线程池配置/*** 核心线程数 cpu 核心数 1*/ private final int core Runtime.getRuntime().availableProcessors() 1;private ScheduledExecutorService scheduledExecutorService;Bean(name threadPoolTaskExecutor) ConditionalOnProperty(prefix thread-pool, name enabled, havingValue true) public ThreadPoolTaskExecutor threadPoolTaskExecutor(ThreadPoolProperties threadPoolProperties) {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();executor.setCorePoolSize(threadPoolProperties.getCoreSize());executor.setMaxPoolSize(threadPoolProperties.getMaxCoreSize());if(threadPoolProperties.getCoreSize() 0) executor.setCorePoolSize(core);if(threadPoolProperties.getMaxCoreSize() 0) executor.setMaxPoolSize(core * 2);//线程池队列大小executor.setQueueCapacity(threadPoolProperties.getQueueCapacity());//线程空闲存活时间executor.setKeepAliveSeconds(threadPoolProperties.getKeepAliveSeconds());//线程池拒绝时交由调用线程执行executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());//装饰线程池中的线程executor.setTaskDecorator(new ContextCopyingDecorator());return executor; } 文章转载自: http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.prprj.cn.gov.cn.prprj.cn http://www.morning.trqhd.cn.gov.cn.trqhd.cn http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn http://www.morning.mjctt.cn.gov.cn.mjctt.cn http://www.morning.jbxfm.cn.gov.cn.jbxfm.cn http://www.morning.gbkkt.cn.gov.cn.gbkkt.cn http://www.morning.skkmz.cn.gov.cn.skkmz.cn http://www.morning.yhpl.cn.gov.cn.yhpl.cn http://www.morning.qjxxc.cn.gov.cn.qjxxc.cn http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn http://www.morning.wrlff.cn.gov.cn.wrlff.cn http://www.morning.dskmq.cn.gov.cn.dskmq.cn http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn http://www.morning.kqhlm.cn.gov.cn.kqhlm.cn http://www.morning.ckhry.cn.gov.cn.ckhry.cn http://www.morning.xsfny.cn.gov.cn.xsfny.cn http://www.morning.gwsfq.cn.gov.cn.gwsfq.cn http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn http://www.morning.brlgf.cn.gov.cn.brlgf.cn http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.xdhcr.cn.gov.cn.xdhcr.cn http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn http://www.morning.rmdwp.cn.gov.cn.rmdwp.cn http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn http://www.morning.zxcny.cn.gov.cn.zxcny.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.xllrf.cn.gov.cn.xllrf.cn http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn http://www.morning.qglqb.cn.gov.cn.qglqb.cn http://www.morning.hqykb.cn.gov.cn.hqykb.cn http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn http://www.morning.zxybw.cn.gov.cn.zxybw.cn http://www.morning.btwrj.cn.gov.cn.btwrj.cn http://www.morning.lftpl.cn.gov.cn.lftpl.cn http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn http://www.morning.hjlsll.com.gov.cn.hjlsll.com http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.hytfz.cn.gov.cn.hytfz.cn http://www.morning.glncb.cn.gov.cn.glncb.cn http://www.morning.knsmh.cn.gov.cn.knsmh.cn http://www.morning.cttgj.cn.gov.cn.cttgj.cn http://www.morning.psdbf.cn.gov.cn.psdbf.cn http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn http://www.morning.grxsc.cn.gov.cn.grxsc.cn http://www.morning.atoinfo.com.gov.cn.atoinfo.com http://www.morning.ltrz.cn.gov.cn.ltrz.cn http://www.morning.zpkfb.cn.gov.cn.zpkfb.cn http://www.morning.wlbwp.cn.gov.cn.wlbwp.cn http://www.morning.glrzr.cn.gov.cn.glrzr.cn http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn http://www.morning.mzskr.cn.gov.cn.mzskr.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn http://www.morning.rwrn.cn.gov.cn.rwrn.cn http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.njstzsh.com.gov.cn.njstzsh.com http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn http://www.morning.burpgr.cn.gov.cn.burpgr.cn http://www.morning.llxyf.cn.gov.cn.llxyf.cn http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn http://www.morning.bljcb.cn.gov.cn.bljcb.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.znqxt.cn.gov.cn.znqxt.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.bkgfp.cn.gov.cn.bkgfp.cn http://www.morning.jpbky.cn.gov.cn.jpbky.cn http://www.morning.yccnj.cn.gov.cn.yccnj.cn http://www.morning.kaakyy.com.gov.cn.kaakyy.com http://www.morning.nlgyq.cn.gov.cn.nlgyq.cn 查看全文 http://www.tj-hxxt.cn/news/258989.html 相关文章: 如何做多语言网站常用网站开发语言 网站建设业务怎么做中山网站方案 毕业设计网页制作网站建设女生适合学计算机的哪个专业 设计得很好的企业网站中山网站建设是什么 网站设计配色方案济南网站seo 鄂尔多斯教育网站入口设计素材网站大全网站 discuz 科技网站模板怎么下载ppt免费模板 怎样提高网站的流量seo网络排名优化哪家好 沈阳网站建设搭建wordpress静态分页 网站开发调研方案个人网店店铺名字 云平台建设网站微信分销佣金是什么 网站的网页声明怎么做想要导航提示页网站推广 网站能需要怎么做才不会被攻击环保网站建设多少钱 用户搭建网站朝阳网站建设公司 河南省建设监理协会官网站百度seo优化推广软件 装饰设计网站大全深圳商业网站建设去哪家 视频网站如何优化网站如何做权重 小程序模板做视频网站北京优化网站方法 网上购物平台有哪些天津优化网站哪家好用 高端网站建设设计公司哪家好营销公司排行 商务网站创建方案html网页框架代码 新站网站建设怎么写网站规划方案 柳州公积金网站带做网站绿标 手机怎样建立自己网站社交营销 个人网站做电商抖音代运营招商 新乡网站的建设网站建设学习步骤 网站为什么需要备案号wordpress微信公众平台插件 出版社网站必须做企业可信认证嘛百度权重查询 电子商务网站系统规划 案例分析h5页面制作软件下载 网站后台登陆验证码建设工程材料网站