# dynamic-tp **Repository Path**: niushaokai/dynamic-tp ## Basic Information - **Project Name**: dynamic-tp - **Description**: 🔥🔥🔥轻量级动态线程池,内置监控告警功能,基于主流配置中心(已支持Nacos、Apollo、ZK,可通过SPI自定义实现)。Lightweight dynamic threadpool, with monitoring and alarming functions, base on popular config centers, can be customized through SPI. - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://dynamictp.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 829 - **Created**: 2024-10-08 - **Last Updated**: 2024-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
基于配置中心的轻量级动态线程池,内置监控告警功能,集成常用中间件线程池管理,可通过SPI自定义扩展实现
官网: https://dynamictp.cn 🔥
--- ## 痛点 使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? > 1. 代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 > > 2. 凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦 > > 3. 线程池相对开发人员来说是个黑盒,运行情况不能及时感知到,直到出现问题 如果有以上痛点,动态可监控线程池框架(**DynamicTp**)或许能帮助到你。 如果看过 ThreadPoolExecutor 的源码,大概可以知道它对核心参数基本都有提供 set / get 方法以及一些扩展方法,可以在运行时动态修改、获取相应的值,这些方法有: ```java public void setCorePoolSize(int corePoolSize); public void setMaximumPoolSize(int maximumPoolSize); public void setKeepAliveTime(long time, TimeUnit unit); public void setThreadFactory(ThreadFactory threadFactory); public void setRejectedExecutionHandler(RejectedExecutionHandler handler); public void allowCoreThreadTimeOut(boolean value); public int getCorePoolSize(); public int getMaximumPoolSize(); public long getKeepAliveTime(TimeUnit unit); public BlockingQueue