Размер пула потоков RecursiveAction

Я только что увидел использование для Java 7 RecursiveAction.invokeAll(), и мне интересно:

Каков размер пула задач? (или алгоритм, который определяет это..)

Если у меня много заданий (скажем, 100 заданий), следует ли мне их использовать?

1 ответ

Решение

Размер пула потоков - то, что вы устанавливаете, либо количество ядер, которые у вас есть:

public ForkJoinPool ()

Создает ForkJoinPool с параллелизмом, равным Runtime.availableProcessors(), используя фабрику потоков по умолчанию, нет UncaughtExceptionHandlerи не асинхронный режим обработки LIFO.

Или какой-то конкретный номер:

public ForkJoinPool (внутри параллелизма)

Создает ForkJoinPool с указанным уровнем параллелизма, фабрика потоков по умолчанию, нет UncaughtExceptionHandlerи не асинхронный режим обработки LIFO.

Пожалуйста, прочитайте JavaDoc для получения дополнительной информации.

Способ рекурсивного действия заключается в том, что он порождает несколько версий самого себя. Вы всегда начинаете с 1. Количество сгенерированных действий несколько несущественно, сотни или тысячи должны быть хорошими - до тех пор, пока они не "накапливаются".

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