Junior — Middle
Jaké implementace rozhraní ExecutorService znáš a v čem se liší?
sobes.tech AI
Odpověď od AI
ExecutorService je rozhraní pro správu vláknového bazénu a asynchronní vykonávání úloh. Hlavní implementace ze standardní knihovny Java:
- ThreadPoolExecutor — nejflexibilnější a často používaná implementace, umožňuje konfigurovat velikost bazénu, frontu úloh a politiku přetížení.
- ScheduledThreadPoolExecutor — rozšíření ThreadPoolExecutor, podporuje plánování úloh s zpožděním nebo periodickým prováděním.
- ForkJoinPool — určen pro úlohy, které lze rozdělit na podúlohy (používá se v rámci Fork/Join frameworku), efektivní pro paralelní výpočty.
Rozdíly:
- ThreadPoolExecutor je vhodný pro obecné účely.
- ScheduledThreadPoolExecutor — pro úlohy s časovači.
- ForkJoinPool — pro rekurzivní paralelismus.
Příklad vytvoření ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Úloha dokončena"));
executor.shutdown();