Junior — Middle
Milyen ExecutorService interfész megvalósításokat ismersz, és miben különböznek?
sobes.tech MI
Válasz az MI-től
Az ExecutorService egy interfész a szálak gyűjteményének kezelésére és a feladatok aszinkron végrehajtására. A Java szabványkönyvtár fő megvalósításai:
- ThreadPoolExecutor — a leginkább rugalmas és gyakran használt megvalósítás, lehetővé teszi a pool méretének, a feladatok sorának és a túlterhelés kezelésének politikájának konfigurálását.
- ScheduledThreadPoolExecutor — a ThreadPoolExecutor kiterjesztése, támogatja a feladatok késleltetett vagy periódikus ütemezését.
- ForkJoinPool — olyan feladatokra tervezték, amelyeket fel lehet osztani alfeladatokra (a Fork/Join keretrendszerben használják), hatékony párhuzamos számításokra.
Különbségek:
- A ThreadPoolExecutor általános célokra alkalmas.
- A ScheduledThreadPoolExecutor — időzítővel ellátott feladatokra.
- A ForkJoinPool — rekurzív párhuzamosságra.
Példa a ThreadPoolExecutor létrehozására:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Feladat befejezve"));
executor.shutdown();