Я вижу, что размер ForkJoinPool.commonPool по умолчанию на один поток меньше, чем количество ядер ЦП. А также, чтобы создать собственный пул, мы можем использовать одно из следующих действий:
Код: Выделить всё
java.util.concurrent.ForkJoinPool.common.parallelism=30
Но я изо всех сил пытаюсь понять, как это на самом деле работает. Многопоточность — это особенность ОС. Итак, если процессор имеет 2 ядра и 4 потока (подробности, которые показывает операционная система), и я изменил параллелизм Java на 30, как он будет работать с ЦП? Какое максимальное количество потоков он создаст мгновенно и сможет выполнять одновременно? Будет ли он создавать 30 потоков одновременно и обрабатывать их параллельно, или, поскольку процессор имеет 4 потока, он создаст 4 потока, а после завершения снова еще 4 таких потока?
Или даже насколько мы увеличим параллелизм, и даже в пакете Spring Boot с большим размером сетки это всегда будет зависеть от ядер ЦП и потоков ЦП?
Подробнее здесь:
https://stackoverflow.com/questions/711 ... rkjoinpool