Config option quarkus.thread-pool.core-threads is ignored
setting quarkus.thread-pool.core-threads has no effect on the core number of executor threads. The application is aways started with the default number of executor threads (1).

**Expected behavior**
Number of executor threads equal to the property quarkus.thread-pool.core-threads

**Actual behavior**
Only 1 executor thread is ever started at startup

diff --git a/core/runtime/src/main/java/io/quarkus/runtime/ExecutorRecorder.java b/core/runtime/src/main/java/io/quarkus/runtime/ExecutorRecorder.java
index fadc8116df7..cc4805240a4 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/ExecutorRecorder.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/ExecutorRecorder.java
@@ -57,6 +57,9 @@ public void run() {
             shutdownContext.addShutdownTask(shutdownTask);
             executor = underlying;
         }
+        if (threadPoolConfig.prefill) {
+            underlying.prestartAllCoreThreads();
+        }
         current = executor;
         return executor;
     }
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/ThreadPoolConfig.java b/core/runtime/src/main/java/io/quarkus/runtime/ThreadPoolConfig.java
index c4171e10e0e..748a56a0e9f 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/ThreadPoolConfig.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/ThreadPoolConfig.java
@@ -21,6 +21,13 @@ public class ThreadPoolConfig {
     @ConfigItem(defaultValue = "1")
     public int coreThreads;
 
+    /**
+     * Prefill core thread pool.
+     * The core thread pool will be initialised with the core number of threads at startup
+     */
+    @ConfigItem(defaultValue = "true")
+    public boolean prefill;
+
     /**
      * The maximum number of threads. If this is not specified then
      * it will be automatically sized to 8 * the number of available processors
['core/runtime/src/main/java/io/quarkus/runtime/ThreadPoolConfig.java', 'core/runtime/src/main/java/io/quarkus/runtime/ExecutorRecorder.java']