why peek doesn't run in a parallel stream?

Viewed 44

The following is my code fragment, the result always show:

main sort3 
main sort3 
main sort3 
main sort3 

The peek after sorted seems like not running. Have you ever met this kind of weird thing?

public static void main(String[] args) throws InterruptedException {
    Random random = new Random();

    Stream<Integer> parallel = Stream.generate(() -> random.nextInt(1000))   
            .limit(10)    

            .sorted((a, b) -> {
                System.out.println(Thread.currentThread().getName() + " sort3 ");
                return a.compareTo(b);
            })                 //3
            .peek(i -> System.out.println(Thread.currentThread().getName() + " peek4 " + i))  //4
            .peek(i-> System.out.println(Thread.currentThread().getName()+" peek5 " + i))   //5
            .parallel().count();

    Thread.sleep(20000);

}
0 Answers
Related