Sobes.tech
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:

  1. Paveldėjimas iš Thread klasės

    • Sukurkite klasę, kuri išplečia Thread ir perrašo run() metodą.
    • Paleiskite srautą iškviesdami start().
  2. Įgyvendinimas Runnable sąsajos

    • Sukurkite klasę, kuri įgyvendina Runnable su run() metodu.
    • Objektą perduokite Thread konstruktoriui ir paleiskite.
  3. Naudojant ExecutorService

    • Leidžia valdyti gijų poolą.
    • Naudinga skalabiliose programose.
  4. Naudojant Callable ir Future

    • Leidžia gauti rezultatą iš srauto.

Skirtumai:

  • Paveldėjimas iš Thread riboja paveldėjimą, nes Java nepalaiko daugiavaikiškumo.
  • Runnable yra lankstesnis, leidžia naudoti kompoziciją.
  • ExecutorService supaprastina 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();
    }
}