Sobes.tech
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();