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:
-
Moștenirea din clasa Thread
- Creați o clasă care extinde
Threadși suprascrie metodarun(). - Porniți fluxul apelând
start().
- Creați o clasă care extinde
-
Implementarea interfeței Runnable
- Creați o clasă care implementează
Runnablecu metodarun(). - Transmiteți obiectul în constructorul
Threadși porniți.
- Creați o clasă care implementează
-
Utilizarea ExecutorService
- Permite gestionarea unui pool de fire de execuție.
- Este util pentru aplicații scalabile.
-
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();
}
}