Правильно ли, что с Java 8 вам необходимо выполнить следующий код, чтобы получить параллельный поток из Collection
?
private <E> void process(final Collection<E> collection) {
Stream<E> stream = collection.parallelStream().parallel();
//processing
}
Из API Collection
:
по умолчанию Stream parallelStream()
Возвращает возможно параллельный поток с этой коллекцией в качестве источника. Для этого метода можно возвращать последовательный поток.
Из BaseStream
API:
S parallel()
Возвращает эквивалентный поток, параллельный. Может вернуться сам, потому что поток уже параллелен, или потому, что базовое состояние потока было изменено на параллельное.
Неужели неудобно, что мне нужно вызвать функцию, которая предположительно параллелирует поток дважды?