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();