В чем недостаток использования ForkJoinPool, когда он не нужен?

Представьте себе сценарий, в котором задачу можно разделить на подзадачи, каждая из которых выполняет какой-то длительный процесс. Предполагая, что эта тяжелая задача возникает только в 5/100 запросов, отправленных на сервер. Было бы разумно использовать ForkJoinPool для этих 5% задач? Каковы недостатки разделения небольшой задачи на более мелкие подзадачи и использования ForkJoinPool для выполнения указанной небольшой задачи?

Предположим, что я не могу решить, разделить или не разделить задачу, поэтому я разделяю все задачи по умолчанию и запускаю ForkJoinPool.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Недавно я прочитал это в javadocs,

ForkJoinTasks should perform relatively small amounts of computation. Large tasks should be split into smaller subtasks, usually via recursive
decomposition. As a very rough rule of thumb, a task should perform more than 100 and less than 10000 basic computational steps, and should avoid indefinite looping. If tasks are too big, then parallelism cannot improve throughput. If too small, then memory and internal task maintenance overhead may overwhelm processing.

Другие вопросы по теме