Common Pitfalls
Ordering, boxing, and the common pool.
Parallel Is Not Free Speed
Adding parallel() can make code slower, not faster. This lesson covers the classic traps so you can avoid them.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
long sum = IntStream.rangeClosed(1, 1_000_000).parallel()
.asLongStream().sum();
System.out.println(sum);
}
}Pitfall: Ordering Overhead
Ordered operations like forEachOrdered or limit force coordination across threads, eroding parallel gains.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
IntStream.rangeClosed(1, 5).parallel()
.forEachOrdered(System.out::println);
}
}