diff --git a/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java b/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java index 0d197641..2c67fb43 100644 --- a/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java +++ b/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java @@ -68,7 +68,7 @@ public final class PoolUtilities } }; - int processors = Runtime.getRuntime().availableProcessors(); + int processors = Math.max(1, Runtime.getRuntime().availableProcessors() / 2); LinkedBlockingQueue queue = new LinkedBlockingQueue(queueSize); ThreadPoolExecutor executor = new ThreadPoolExecutor(processors, processors, 10, TimeUnit.SECONDS, queue, threadFactory, new ThreadPoolExecutor.DiscardPolicy()); executor.allowCoreThreadTimeOut(true);