Почему java ForkJoinPool по умолчанию ограничивает параметр параллелизма
Это конструктор по умолчанию для ForkJoinPool.
public ForkJoinPool() {
this(Math.min(MAX_CAP, Runtime.getRuntime().availableProcessors()),
defaultForkJoinWorkerThreadFactory, null, false);
}
И это все аргумент конструктора.
public ForkJoinPool(int parallelism,
ForkJoinWorkerThreadFactory factory,
UncaughtExceptionHandler handler,
boolean asyncMode)
MAX_CAP - это
static final int MAX_CAP = 0x7fff; // max #workers - 1
Почему лимит MAX_CAP и 0x7fff имеет особое значение?