新闻详情

新闻详情

首页 / 资讯中心 / 详情

线程池常规使用 以及 基本的信息

发布时间:2026/9/10 6:01:36来源:尧图网络
线程池常规使用 以及 基本的信息
第一种 (详细代码可见检修计划断面文件多天生成方法) 步骤一: 在Application启动类 配置线程池的Bean 在启动类上添加 启用异步注解 @EnableAsync @Bean(name = "sectionalFileServiceExecutors") public Executor sectionalFileServiceExecutors() { int corePoolSize = 32; int maximumPoolSize = 64; long keepAliveTime = 30; TimeUnit unit = TimeUnit.SECONDS; BlockingQueueRunnable workQueue = new LinkedBlockingQueue(200); // 自定义线程 名称 便于查看调试 ThreadFactory threadFactory = new ThreadFactory() { private final AtomicInteger threadNumber = new AtomicInteger(1); @Override public Thread newThread(Runnable r) { Thread thread = new Thread(r, "sectional-file-pool-" + threadNumber.getAndIncrement()); thread.setDaemon(false); return thread; } }; RejectedExecutionHandler handler = new ThreadPoolExecutor.CallerRunsPolicy(); ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor( corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler ); return threadPoolExecutor; } /** * 泛型实体类深拷贝 工具方法 * * @param object * @return: T * @Author: zhangKangLe * @Date: 2024/10/21 14:13 */ public static T T deepCopy(T object) { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(object); ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bis); return (T) ois.readObject(); } catch (IOException | ClassNotFoundException e) { throw new RuntimeException("Deep copy failed", e); } } 步骤二: 控制层 ( execute 方法启动是没有返回值的) // 依赖注入 @Autowired Executor asyncServiceExecutor; @PostMapping("/***********************") public Result generateTypicalSection_Executor(@RequestBody SectionalFileBO sectionalFileBO) { String startTime = sectionalFileBO.getStartTime(); String endTime = sectionalFileBO.getEndTime(); ListString dateList = generateDateRange(startTime, endTime, "yyyy-MM-dd"); for (String dataDate : dateList) { asyncServiceExecutor.execute(() - { SectionalFileBO itemEntity = deepCopy(sectionalFileBO); itemEntity.setDataDate(dataDate); sectionFileGenerationService.generateTypicalSection_Executor(itemEntity); }); } return Result.success("典型断面生成 成功"); } 步骤三:配置 ThreadPoolExecutorConfig 类 @Configuration @EnableAsync @Slf4j public class ThreadPoolExecutorConfig { /** * 核心线程数(默认线程数) */ private int corePoolSize = 32; /** * 最大线程数 */ private int maxPoolSize = 64; /** * 允许线程空闲时间(单位:默认为秒) */ private static final int keepAliveTime = 60; /** * 缓冲队列大小 */ private int queueCapacity = 200; @Bean("asyncServiceTaskExecutor") public Executor asyncServiceTaskExecutor() { log.info("start asyncServiceExecutor"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); //配置核心线程数 executor.setCorePoolSize(corePoolSize); //配置最大线程数 executor.setMaxPoolSize(maxPoolSize); //配置空闲时间 executor.setKeepAliveSeconds(keepAliveTime); //配置队列大小 executor.setQueueCapacity(queueCapacity); //配置线程前缀名 executor.setThreadNamePrefix("async-service-"); // rejection-policy:当pool已经达到max size的时候,如何处理新任务 // CALLER_RUNS:不在新线程中执行任务,而是有调
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

如何用 pipx 同时安装多个 Poetry 版本并切换使用? 2026/9/10 5:59:34

如何用 pipx 同时安装多个 Poetry 版本并切换使用?

如何用 pipx 同时安装多个 Poetry 版本并切换使用? 【免费下载链接】poetry Python packaging and dependency management made easy 项目地址: https://gitcode.com/GitHub_Trending/po/poetry 在排查版本相关问题、验证 preview 版本,或者需要让…

阅读更多 →
RuView 领域驱动设计模型全景:一张以物理世界为边界的 DDD 架构地图 2026/9/10 5:59:34

RuView 领域驱动设计模型全景:一张以物理世界为边界的 DDD 架构地图

RuView 领域驱动设计模型全景:一张以物理世界为边界的 DDD 架构地图 【免费下载链接】RuView π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of vid…

阅读更多 →
红外干扰弹识别:基于热辐射建模的轻量级算法实现 2026/9/10 5:59:34

红外干扰弹识别:基于热辐射建模的轻量级算法实现

简介:本资源聚焦红外干扰弹的自动识别技术,面向军事电子、红外成像与目标检测方向的研究者及算法工程师,解决复杂红外场景下干扰弹与真实目标的区分难题。压缩包仅含1个MATLAB脚本文件(mubiaoshibie.m),体积…

阅读更多 →
SpringBoot后台权限管理:动态菜单、数据字典与uniapp商城二开实战 2026/9/10 5:59:34

SpringBoot后台权限管理:动态菜单、数据字典与uniapp商城二开实战

简介:这套基于SpringBoot的后台管理系统,配套uniapp商城移动端,面向需要快速搭建权限管理后台与商城前端的Java开发人员,可解决系统权限、动态菜单、用户权限、数据字典,以及商品分类、登录注册、购物车下单等常见业务…

阅读更多 →
PostHog AI 可信指令注入完全指南:用 `type: ‘instructions‘` 安全地引导 Agent 2026/9/10 5:59:34

PostHog AI 可信指令注入完全指南:用 `type: ‘instructions‘` 安全地引导 Agent

PostHog AI 可信指令注入完全指南:用 type: instructions 安全地引导 Agent 【免费下载链接】posthog :hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, fla…

阅读更多 →
JVM监控与诊断实战:从进程管理到GC分析快速定位线上故障 2026/9/10 5:56:34

JVM监控与诊断实战:从进程管理到GC分析快速定位线上故障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞