# dynamic-thread-pool **Repository Path**: Minh-X/dynamic-thread-pool ## Basic Information - **Project Name**: dynamic-thread-pool - **Description**: 本项目旨在提供一个灵活且高效的动态线程池解决方案,适用于需要根据业务负载动态调整线程池大小的场景 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-10 - **Last Updated**: 2025-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 动态线程池项目介绍 一个灵活且高效的动态线程池解决方案,适用于需要根据业务负载动态调整线程池大小的场景。 项目效果: ![img.png](img.png) ## 应用场景 - 高并发业务处理 - 实时监控和调整线程池参数 - 提供多种线程池配置策略以适应不同业务需求 ## 功能特点 - **动态调整线程池大小**:根据业务负载自动调整线程池中的线程数量。 - **监控线程池状态**:实时监控线程池的状态,包括活跃线程数、队列长度等。 - **支持多种线程池配置策略**:提供多种配置策略,满足不同业务场景的需求。 ## 使用方法 1. **引入动态线程池SDK依赖** - 在项目的`pom.xml`文件中添加以下依赖: ```xml cn.minhx.mw dynamic-thread-pool-spring-boot-starter 1.0.0 ``` 2. **配置线程池参数** - 在项目的线程池配置文件中配置线程池参数 - 配置示例(`ThreadPoolConfig.java`): ```java @Configuration public class ThreadPoolConfig { @Bean("executor-01") public ThreadPoolExecutor pool01() { return new ThreadPoolExecutor( 10, 20, 3600, TimeUnit.SECONDS, new LinkedBlockingQueue<>(5000), Executors.defaultThreadFactory(), new ThreadPoolExecutor.CallerRunsPolicy()); } @Bean("executor-02") public ThreadPoolExecutor pool02() { return new ThreadPoolExecutor( 10, 20, 3600, TimeUnit.SECONDS, new LinkedBlockingQueue<>(5000), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); } } ``` 3. **启动项目** - dynamic-thread-pool-demo 4. **启动线程池管理项目** - dynamic-thread-pool-admin 5. **访问管理页面** - 打开此项目根目录下的 index.html 文件 ## 参考资料 - **Java线程池实现原理及其在美团业务中的实践** - 链接:[Java线程池实现原理及其在美团业务中的实践](https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html)