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:
-
Dedičstvo od triedy Thread
- Vytvoríte triedu, ktorá rozširuje
Threada prepíše metódurun(). - Spustíte tok volaním
start().
- Vytvoríte triedu, ktorá rozširuje
-
Implementácia rozhrania Runnable
- Vytvoríte triedu, ktorá implementuje
Runnables metódourun(). - Objekt odovzdáte do konštruktora
Threada spustíte ho.
- Vytvoríte triedu, ktorá implementuje
-
Použitie ExecutorService
- Umožňuje spravovať skupinu vlákien.
- Vhodné pre škálovateľné aplikácie.
-
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();
}
}