Sobes.tech
Junior — Middle

Welche Implementierungen der Schnittstelle ExecutorService kennst du und worin unterscheiden sie sich?

sobes.tech KI

Antwort von AI

ExecutorService ist eine Schnittstelle zur Verwaltung eines Thread-Pools und zur asynchronen Ausführung von Aufgaben. Die wichtigsten Implementierungen aus der Java-Standardbibliothek:

  • ThreadPoolExecutor — die flexibelste und am häufigsten verwendete Implementierung, ermöglicht die Konfiguration der Poolgröße, der Aufgabenwarteschlange und der Überlastpolitik.
  • ScheduledThreadPoolExecutor — eine Erweiterung von ThreadPoolExecutor, unterstützt die Planung von Aufgaben mit Verzögerung oder periodischer Ausführung.
  • ForkJoinPool — gedacht für Aufgaben, die in Unteraufgaben aufgeteilt werden können (verwendet im Fork/Join-Framework), effizient für parallele Berechnungen.

Unterschiede:

  • ThreadPoolExecutor eignet sich für allgemeine Zwecke.
  • ScheduledThreadPoolExecutor — für Aufgaben mit Timern.
  • ForkJoinPool — für rekursiven Parallelismus.

Beispiel für die Erstellung eines ThreadPoolExecutor:

ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Aufgabe ausgeführt"));
executor.shutdown();