Junior — Middle
Kaip galima įgyvendinti duomenų srautų kūrimą Java ir kuo jie skiriasi?
sobes.tech AI
Atsakymas iš AI
Java kalbant, duomenų srautų (streams) kūrimas gali būti įgyvendintas keliais būdais:
-
Paveldėjimas iš
Threadklasės- Sukurkite klasę, kuri išplečia
Threadir perrašorun()metodą. - Paleiskite srautą iškviesdami
start().
- Sukurkite klasę, kuri išplečia
-
Įgyvendinimas
Runnablesąsajos- Sukurkite klasę, kuri įgyvendina
Runnablesurun()metodu. - Objektą perduokite
Threadkonstruktoriui ir paleiskite.
- Sukurkite klasę, kuri įgyvendina
-
Naudojant
ExecutorService- Leidžia valdyti gijų poolą.
- Naudinga skalabiliose programose.
-
Naudojant
CallableirFuture- Leidžia gauti rezultatą iš srauto.
Skirtumai:
- Paveldėjimas iš
Threadriboja paveldėjimą, nes Java nepalaiko daugiavaikiškumo. Runnableyra lankstesnis, leidžia naudoti kompoziciją.ExecutorServicesupaprastina gijų valdymą ir jų gyvavimo ciklą.
Pavyzdys su Runnable:
class MyRunnable implements Runnable {
public void run() {
System.out.println("Gija pradėta");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}