From 73b77f8920d21d38a6fa9ee65dbe2105c0ab211a Mon Sep 17 00:00:00 2001 From: csviri Date: Fri, 3 Feb 2023 12:39:57 +0100 Subject: [PATCH] feat: better thread utilization for informer start --- .../operator/api/config/ExecutorServiceManager.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java index 5dcba5975d..5ff053e09f 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ExecutorServiceManager.java @@ -67,9 +67,14 @@ public synchronized static ExecutorServiceManager instance() { } public static void executeAndWaitForAllToComplete(Stream stream, - Function task, Function threadNamer) { + Function task, Function threadNamer) { + executeAndWaitForAllToComplete(stream,task,threadNamer,Runtime.getRuntime().availableProcessors()); + } + + public static void executeAndWaitForAllToComplete(Stream stream, + Function task, Function threadNamer, int poolSize) { final var instrumented = new InstrumentedExecutorService( - Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())); + Executors.newFixedThreadPool(poolSize)); try { instrumented.invokeAll(stream.parallel().map(item -> (Callable) () -> {