Sobes.tech
Junior — Middle

Cu ce metode se poate implementa crearea fluxurilor de date în Java și în ce constau diferențele?

sobes.tech AI

Răspuns de la AI

În Java, crearea fluxurilor de date (streams) poate fi realizată în mai multe moduri:

  1. Moștenirea din clasa Thread

    • Creați o clasă care extinde Thread și suprascrie metoda run().
    • Porniți fluxul apelând start().
  2. Implementarea interfeței Runnable

    • Creați o clasă care implementează Runnable cu metoda run().
    • Transmiteți obiectul în constructorul Thread și porniți.
  3. Utilizarea ExecutorService

    • Permite gestionarea unui pool de fire de execuție.
    • Este util pentru aplicații scalabile.
  4. Utilizarea Callable și Future

    • Permite obținerea rezultatului din flux.

Diferențe:

  • Moștenirea din Thread limitează moștenirea, deoarece Java nu suportă moștenirea multiplă.
  • Runnable este mai flexibil, permite utilizarea compoziției.
  • ExecutorService simplifică gestionarea firelor de execuție și ciclul lor de viață.

Exemplu cu Runnable:

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Fir de execuție pornit");
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyRunnable());
        thread.start();
    }
}