Junior — Middle
De quelles manières peut-on implémenter la création de flux de données en Java et quelles en sont les différences?
sobes.tech IA
Réponse de l'IA
En Java, la création de flux de données (streams) peut être réalisée de plusieurs façons:
-
Héritage de la classe Thread
- Créez une classe qui étend
Threadet redéfinit la méthoderun(). - Démarrez le flux en appelant
start().
- Créez une classe qui étend
-
Implémentation de l'interface Runnable
- Créez une classe qui implémente
Runnableavec la méthoderun(). - Passez l'objet au constructeur de
Threadet démarrez-le.
- Créez une classe qui implémente
-
Utilisation de ExecutorService
- Permet de gérer un pool de threads.
- Utile pour des applications évolutives.
-
Utilisation de Callable et Future
- Permet d'obtenir un résultat du flux.
Différences:
- L'héritage de Thread limite l'héritage, car Java ne supporte pas l'héritage multiple.
- Runnable est plus flexible, permet d'utiliser la composition.
- ExecutorService simplifie la gestion des threads et leur cycle de vie.
Exemple avec Runnable:
class MyRunnable implements Runnable {
public void run() {
System.out.println("Thread démarré");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}