Junior — Middle
Кои реализации на интерфейса ExecutorService познаваш и как се различават?
sobes.tech AI
Отговор от AI
ExecutorService е интерфейс за управление на пул от нишки и асинхронно изпълнение на задачи. Основните реализации от стандартната библиотека на Java:
- ThreadPoolExecutor — най-гъвкавата и често използвана реализация, позволява конфигуриране на размера на пула, опашката с задачи и политиката за обработка на претоварване.
- ScheduledThreadPoolExecutor — разширение на ThreadPoolExecutor, поддържа планиране на задачи с забавяне или периодично изпълнение.
- ForkJoinPool — предназначен за задачи, които могат да бъдат разделени на подзадачи (използва се във Fork/Join framework), ефективен за паралелни изчисления.
Разлики:
- ThreadPoolExecutor е подходящ за общи цели.
- ScheduledThreadPoolExecutor — за задачи с таймери.
- ForkJoinPool — за рекурсивен паралелизъм.
Пример за създаване на ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Задачата е изпълнена"));
executor.shutdown();