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