Sobes.tech
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:

  1. Héritage de la classe Thread

    • Créez une classe qui étend Thread et redéfinit la méthode run().
    • Démarrez le flux en appelant start().
  2. Implémentation de l'interface Runnable

    • Créez une classe qui implémente Runnable avec la méthode run().
    • Passez l'objet au constructeur de Thread et démarrez-le.
  3. Utilisation de ExecutorService

    • Permet de gérer un pool de threads.
    • Utile pour des applications évolutives.
  4. 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();
    }
}