Sobes.tech
Junior — Middle

Akými spôsobmi je možné realizovať tvorbu dátových tokov v Jave a v čom sa líšia?

sobes.tech AI

Odpoveď od AI

V Jave je tvorba dátových tokov (streams) možná niekoľkými spôsobmi:

  1. Dedičstvo od triedy Thread

    • Vytvoríte triedu, ktorá rozširuje Thread a prepíše metódu run().
    • Spustíte tok volaním start().
  2. Implementácia rozhrania Runnable

    • Vytvoríte triedu, ktorá implementuje Runnable s metódou run().
    • Objekt odovzdáte do konštruktora Thread a spustíte ho.
  3. Použitie ExecutorService

    • Umožňuje spravovať skupinu vlákien.
    • Vhodné pre škálovateľné aplikácie.
  4. Použitie Callable a Future

    • Umožňuje získať výsledok z vlákna.

Rozdiely:

  • Dedičstvo od Thread obmedzuje dedičnosť, pretože Java nepodporuje viacnásobnú dedičnosť.
  • Runnable je flexibilnejší, umožňuje použitie kompozície.
  • ExecutorService zjednodušuje správu vlákien a ich životný cyklus.

Príklad s Runnable:

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Vlákno spustené");
    }
}

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