Согласно Oracle,Как установить ForkJoinPool с нужным количеством рабочих потоков в CompletableFuture.supplyAsync (поставщик <U> поставщика) метод?
статический CompletableFuture supplyAsync (поставщик поставщик) Возвращает новый CompletableFuture, который асинхронно завершено к задачи, работающей в ForkJoinPool.commonPool() со значением, полученным по вызывая данный Поставщик.
статического CompletableFuture supplyAsync (поставщик поставщик, исполнитель исполнителя) Возвращает новый CompletableFuture, который асинхронно завершается задачами, работающих в данный исполнителе со значением , полученного путем вызова данного поставщика.
Если я использую "статический CompletableFuture supplyAsync (поставщик поставщик)" метод, по умолчанию используют ForkJoinPool.commonPool(). Это возвращает ForkJoinPool, который имеет число рабочих потоков, равное количеству доступных ядер в запущенной машине.
Но, я хочу использовать ForkJoinPool с моим пользовательским количеством рабочих потоков. Использование ForkJoinPool.commonPool() Я не могу этого сделать.
Так как я могу использовать CompletableFuture.supplyAsync метод с моим объявленным ForkJoinPool с использованием числа рабочих потоков, которые я хочу?
Еще одна альтернатива: CompletableFuture.supplyAsync (yourSupplier, Executors.newWorkStealingPool (Your_thread_Acount)); –