concurrencyEmpezando con la concurrencia


Observaciones

Esta sección proporciona una descripción general de qué es la concurrencia y por qué un desarrollador puede querer usarla.

También debe mencionar cualquier tema grande dentro de la concurrencia, y vincular a los temas relacionados. Dado que la Documentación para la concurrencia es nueva, es posible que deba crear versiones iniciales de los temas relacionados.

Ejemplo de ejecución concurrente en Java.

import java.util.stream.IntStream;

public class Concurrent {
    public static void printAndWait(String s) {
        System.out.println(s);
        try {
            Thread.sleep(1000);
        } catch (Exception e) {}
    }
    
    public static void main(String[] args) {
        Thread myThread = new Thread() {
            public void run() {
                IntStream.range(1,32)
                .forEach(x -> printAndWait(""+x));
            }
         };
         myThread.start();
         IntStream.range('a', 'z').forEach(x -> printAndWait(""+(char)x));
     }
}
 

Esto producirá una salida de algo similar a

a
1
b
2
c
3
 

y así sucesivamente, aunque los resultados pueden variar. Esto se debe a que el código en myThread se ejecuta simultáneamente, en un hilo diferente, como el flujo principal. Es decir, el rango 1-32 es manejado por un hilo, y el rango az es manejado por otro.

Dado que no hay sincronización entre los subprocesos, no hay garantía de que uno ejecutará primero o incluso que produzcan un resultado que esté perfectamente entrelazado.

Instalación o configuración

Instrucciones detalladas sobre cómo configurar o instalar la concurrencia.