Index: java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java (revision 75cec48b92d593b0beed19d3befedf86d497edfa) +++ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java (date 1582049677055) @@ -75,13 +75,19 @@ public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory) { super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, new RejectHandler()); - prestartAllCoreThreads(); } public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue) { super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, new RejectHandler()); prestartAllCoreThreads(); } + + public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory, boolean preStartMinSpareThreads) { + super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, new RejectHandler()); + if (preStartMinSpareThreads) { + prestartAllCoreThreads(); + } + } public long getThreadRenewalDelay() { return threadRenewalDelay;