Hace operaciones honores intermedia fin encuentro cuando el funcionamiento del terminal utilizado en la misma tubería corriente no hace distinciones encuentro orden?

Piyush Kumar:

Si estoy usando una operación de mapa en una tubería de flujo con forEach () el funcionamiento del terminal (que no lo hace distinciones se encuentran con el fin independientemente de si su secuencial o flujo paralelo) en la lista (como fuente), se asignarán respetar el orden encuentro de la lista en el caso de flujo secuencial o en paralelo?

List<Integer> = Arrays.asList(1,2,3,4,5)
someList.stream().map(i -> i*2).forEach(System.out::println) // this is sequential stream
someList.parallelStream().map(i -> i*2).forEach(System.out::println) // this is parallel stream

Si es así, en este post https://stackoverflow.com/a/47337690/5527839 operación mapa, se menciona se llevará a cabo en paralelo. Si se mantiene el orden, cómo se va a hacer el mejor rendimiento cuando se utiliza corriente paralela. Lo que es un punto de utilizar flujo paralelo?

Consorcio inactivo :

Si se mantiene el orden, cómo se va a hacer el mejor rendimiento cuando se utiliza corriente paralela. Lo que es un punto de utilizar flujo paralelo? (sí todavía va a ganar el rendimiento, pero no se espera que el nivel)

Incluso si se utiliza forEachOrdered(), mientras que parallelStreamla operación intermedia mapserá ejecutado por hilos concurrentes, sino en el funcionamiento del terminal orEachOrderedhace que les permite procesar en orden. Intenta continuación Código verá el paralelismo en mapla operación

List<Integer> someList = Arrays.asList(1,2,3,4,5);
            someList.stream().map(i -> {
                System.out.println(Thread.currentThread().getName()+" Normal Stream : "+i);
                return i*2;
            }).forEach(System.out::println); // this is sequential stream

            System.out.println("this is parallel stream");

            someList.parallelStream().map(i -> {
                System.out.println(Thread.currentThread().getName()+" Parallel Stream : "+i);
                return i*2;
            }).forEachOrdered(System.out::println); // this is parallel stream

trazará un mapa fin encuentro honor? Se ordena cualquier manera relacionada con operaciones intermedias?

Si se trata de parallelstreamun mapa no encontrará cualquier orden, si se trata de corriente normal, entonces el mapa se encontrará con el fin, depende totalmente de la corriente no en operación intermedia

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=239778&siteId=1
Recomendado
Clasificación