Junior — Middle
Welke implementaties van de interface ExecutorService ken je en waarin verschillen ze?
sobes.tech AI
Antwoord van AI
ExecutorService is een interface voor het beheren van een threadpool en het uitvoeren van taken asynchroon. De belangrijkste implementaties uit de Java-standaardbibliotheek:
- ThreadPoolExecutor — de meest flexibele en vaak gebruikte implementatie, stelt je in staat om de grootte van de pool, de taakwachtrij en het overload-beleid te configureren.
- ScheduledThreadPoolExecutor — een uitbreiding van ThreadPoolExecutor, ondersteunt het plannen van taken met vertraging of periodieke uitvoering.
- ForkJoinPool — bedoeld voor taken die kunnen worden opgesplitst in subtaken (gebruikt in het Fork/Join framework), efficiënt voor parallelle berekeningen.
Verschillen:
- ThreadPoolExecutor is geschikt voor algemeen gebruik.
- ScheduledThreadPoolExecutor — voor taken met timers.
- ForkJoinPool — voor recursieve parallelisme.
Voorbeeld van het maken van een ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Taak voltooid"));
executor.shutdown();