Я использую CompletableFuture.supplyAsync, я не хочу использовать Forkjoinpool.commonpool, я хочу передать ему пул.
В настоящее время я создаю статическую ссылку на пул и использую ее, потому что я не хочу создавать пул для каждого запроса.
Я хочу знать, какой из 2 способов ниже.
private static ExecutorService processingPool = Executors.newFixedThreadPool(10);
CompletableFuture.supplyAsync( () -> process(),processingPool);
или
private static ForkJoinPool processingPool = new ForkJoinPool(10);
CompletableFuture.supplyAsync( () -> process(),processingPool);
Также я читал, что ForkJoinPool создает потоки в режиме демона. Я использую блокировку вызова ".get" в конце всей обработки, чтобы объединить результаты. Поэтому мой вопрос здесь заключается в том, что в случае, если я использую forkJoinPool в приведенном выше примере, JVM будет ждать завершения до завершения, поскольку я использовал блокирующий вызов «.get», или он завершится, поскольку они являются потоками демона.