Procesamiento de datos en paralelo en Java | Serie 1

Sabemos que la nueva interfaz Stream en Java (introducida en Java 8) nos permite manipular colecciones de datos de forma declarativa.
En este tema, descubriremos cómo la interfaz Stream nos brinda la oportunidad de ejecutar operaciones en paralelo en una colección de datos sin mucho esfuerzo. Nos permite convertir declarativamente un flujo secuencial en uno paralelo

Definición y creación de flujos paralelos:
un flujo paralelo es aquel que divide los elementos en múltiples flujos y los asigna en múltiples fragmentos en diferentes subprocesos. Por lo tanto, podemos dividir la carga de trabajo de una operación determinada en el núcleo de los multiprocesadores y, por lo tanto, hará que la CPU esté ocupada. Podemos convertir la transmisión en paralelo adjuntando la palabra clave ‘paralelo’.

¡El siguiente ejemplo nos da una idea de cómo podemos convertir un flujo en uno paralelo!

// A Simple Java program to demonstrate parallel
// processing.
import java.util.stream.*;
import java.util.Collections.*;
public class JavaApplication1 {
  
    static long sumparallel(long n)
    {
        // Stream converted to parallel stream 
        return Stream.iterate(1L, i->i + 1).
                       limit(n).parallel(). 
                       reduce(0L, Long::sum);
    }
  
    // Driver code
    public static void main(String[] args)
    {
        long c = sumparallel(10);
        System.out.println("Sum is " + c);
    }
}

Producción :

Sum is 55

En la siguiente parte, veremos la diferencia entre el rendimiento de flujos paralelos, flujos secuenciales y procesos iterativos y revisaremos ciertos métodos más especializados en flujos paralelos.


Referencia:

https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.html

Este artículo es una contribución de keshav_786 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *