Premiers pas avec la simultanéité

Installation ou configuration

Instructions détaillées sur la configuration ou l’installation de la simultanéité.

Exemple d’exécution simultanée 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));
     }
}

Cela produira une sortie de quelque chose de similaire à

a
1
b
2
c
3

et ainsi de suite, même si les résultats peuvent varier. En effet, le code dans myThread est exécuté simultanément, dans un thread différent, en tant que flux principal. Autrement dit, la plage 1-32 est gérée par un thread et la plage a-z est gérée par un autre.

Comme il n’y a pas de synchronisation entre les threads, rien ne garantit lequel s’exécutera en premier ni même qu’ils produiront un résultat parfaitement imbriqué.