В интернете я видел множество примеров того, что для того, чтобы использовать API потоков для параллельной работы, просто вызовите метод .parallelStream()
, например:
mySet
.parallelStream()
... // do my fancy stuff and collect
Но в других случаях я видел, как параллельный поток использовался внутри субпозиции пула потоков, например:
ForkJoinPool.commonPool().submit(() -> {
mySet
.parallelStream()
... // do my fancy stuff and collect
})
Выполняет ли простой вызов parallelStream()
все, что будет дальше, в нескольких параллельных потоках? Как в каком-то предварительно настроенном пуле потоков или что-то в этом роде. Или я должен создать свои потоки и затем использовать параллельный поток?