Why is filtering by primality in an inifinite stream of numbers taking forever if processed in parallel?
问题 I'm creating an infinite stream of Integers starting at 200 Million, filter this stream using a naive primality test implementation to generate load and limit the result to 10. Predicate<Integer> isPrime = new Predicate<Integer>() { @Override public boolean test(Integer n) { for (int i = 2; i < n; i++) { if (n % i == 0) return false; } return true; } }; Stream.iterate(200_000_000, n -> ++n) .filter(isPrime) .limit(10) .forEach(i -> System.out.print(i + " ")); This works as expected. Now, if I