Introduction
La programmation asynchrone en Java est comme prendre des commandes de café tout en préparant d’autres boissons. Vous n’avez pas besoin d’attendre qu’une tâche soit terminée pour en commencer une autre. Dans ce cours, nous allons explorer comment utiliser la programmation asynchrone pour améliorer la réactivité de votre application.
Utilisation de CompletableFuture
Java fournit la classe CompletableFuture
pour la programmation asynchrone.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import java.util.concurrent.CompletableFuture;
public class Cafe {
public static void main(String[] args) {
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
System.out.println("Préparation du café...");
// Code de préparation du café
});
System.out.println("Prendre une commande...");
future.join(); // Attendre que la tâche soit terminée
System.out.println("Café prêt!");
}
}
|
1
2
3
4
|
$ java Cafe
Prendre une commande...
Préparation du café...
Café prêt!
|
Combinaison de Tâches Asynchrones
Vous pouvez combiner plusieurs tâches asynchrones.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import java.util.concurrent.CompletableFuture;
public class Cafe {
public static void main(String[] args) {
CompletableFuture<Integer> coffeeTask = CompletableFuture.supplyAsync(() -> {
System.out.println("Préparation du café...");
return 2; // Exemple de calcul
});
CompletableFuture<Integer> result = coffeeTask.thenApply(cups -> cups * 2);
System.out.println("Café préparé: " + result.join() + " tasses");
}
}
|
1
2
3
|
$ java Cafe
Préparation du café...
Café préparé: 4 tasses
|
Conclusion
La programmation asynchrone en Java vous permet d’exécuter des tâches sans bloquer le flux principal, comme prendre des commandes tout en préparant des boissons. Utilisez la programmation asynchrone pour améliorer la réactivité de votre application.