Sobes.tech
Junior — Middle

Na koje načine se može implementirati kreiranje tokova podataka u Javi i u čemu se razlikuju?

sobes.tech АИ

Одговор од АИ

У Јави, креирање токова података (streams) може се реализовати на неколико начина:

  1. Наслеђивање од класе Thread

    • Креирате класу која проширује Thread и преписује метод run().
    • Покрећете ток позивом start().
  2. Реализација интерфејса Runnable

    • Креирате класу која имплементира Runnable са методом run().
    • Објекат преносите у конструктор Thread и покрећете га.
  3. Користећи ExecutorService

    • Омогућава управљање пулом нитева.
    • Погодно за скалабилне апликације.
  4. Користећи Callable и Future

    • Омогућава добијање резултата из нити.

Разлике:

  • Наслеђивање од Thread ограничава наслеђивање, јер Јава не подржава мултинаследност.
  • Runnable је флексибилнији, омогућава коришћење композиције.
  • ExecutorService поједностављује управљање нитевима и њиховим животним циклусом.

Пример са Runnable:

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Потез је покренут");
    }
}

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