Witam mam pytanie o równoległości podczas korzystania flatmap Rozważmy następujący przykładRównoległość i Flatmap w Java 8 Strumienie
IntStream.of(-1, 1).parallel().flatMap(i->IntStream.range(0,1000).parallel()).forEach(System.out::println);
Czy to ważne, czy ustawić wewnętrzną flagę równolegle? Wyniki wyglądają bardzo podobnie, jeśli je zostawię, czy nie. Również dlaczego kod (ReferencePipeline) sekwencyjnie mapuje? jestem mylony przez linię:
result.sequential().forEach(downstream);
Cóż, na podstawie komentarza w kodzie "Możemy zrobić to lepiej; Optymalizuj pod kątem depth = 0 case i po prostu zgarnij spliterator i dla "Yes", zakładam, że nie musieli implementować go jako 'result.sequential(). forEach (downstream)' i mogli użyć równoległego wdrożenia dla lepszej wydajności . – Eran