Java et le Café : Servir des Boissons avec le Multiprocessing

Introduction

Le multiprocessing en Java est comme avoir plusieurs machines à café dans un café, travaillant simultanément pour servir des boissons plus rapidement. Dans ce cours, nous allons explorer comment utiliser le multiprocessing pour exécuter des tâches en parallèle et améliorer les performances.

Utilisation de l’API Fork/Join

Java fournit l’API Fork/Join pour tirer parti du multiprocessing.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.concurrent.RecursiveTask;

class CoffeeBrewingTask extends RecursiveTask<Integer> {
  int cups;

  CoffeeBrewingTask(int cups) {
    this.cups = cups;
  }

  @Override
  protected Integer compute() {
    // Code de préparation du café
    return cups * 2; // Exemple de calcul
  }
}

public class Cafe {
  public static void main(String[] args) {
    CoffeeBrewingTask task = new CoffeeBrewingTask(10);
    int result = task.fork().join();
    System.out.println("Café préparé: " + result + " tasses");
  }
}
1
2
$ java Cafe
Café préparé: 20 tasses

Utilisation de Streams Parallèles

Java permet également d’utiliser des streams parallèles pour le multiprocessing.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import java.util.stream.IntStream;

public class Cafe {
  public static void main(String[] args) {
    int sum = IntStream.range(0, 10)
      .parallel()
      .sum();

    System.out.println("Somme: " + sum);
  }
}
1
2
$ java Cafe
Somme: 45

Conclusion

Le multiprocessing en Java vous permet d’exécuter des tâches en parallèle sur plusieurs processeurs, comme plusieurs machines à café travaillant ensemble dans un café. Utilisez le multiprocessing pour améliorer les performances et servir des boissons plus rapidement.