Sobes.tech
Junior — Middle

Koje implementacije interfejsa ExecutorService poznaješ i po čemu se razlikuju?

sobes.tech АИ

Одговор од АИ

ExecutorService је интерфејс за управљање пулом нитова и асинхроно извршавање задатака. Главне имплементације из стандардне библиотеке Јава:

  • ThreadPoolExecutor — најфлексибилнија и често коришћена имплементација, омогућава конфигурацију величине пула, реда задатака и политике руковања преоптерећењем.
  • ScheduledThreadPoolExecutor — проширење ThreadPoolExecutor, подржава планирање задатака са закашњењем или периодично извршавање.
  • ForkJoinPool — намењен за задатке који се могу делити на подзадатке (користи се у Fork/Join оквиру), ефикасан за паралелне рачунације.

Разлике:

  • ThreadPoolExecutor је погодан за општу употребу.
  • ScheduledThreadPoolExecutor — за задатке са тајмерима.
  • ForkJoinPool — за рекурзивни паралелизам.

Пример креирања ThreadPoolExecutor:

ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Задача завршена"));
executor.shutdown();