Документ Java для CompletableFuture
сообщает:
Все асинхронные методы без явного аргумента Executor выполняются с использованием ForkJoinPool.commonPool () (если только он не поддерживаетуровень параллелизма не менее двух, и в этом случае для выполнения каждой задачи создается новый поток)
Какова причина такого решения о создании потока для каждой отдельной задачи?Почему они не решили создать пул, по крайней мере, с двумя рабочими, или почему у исполнителя, возвращенного commonPool()
, нет по крайней мере двух рабочих?
Создание потока для каждой задачи кажется довольно неэффективным дляя.