Sobes.tech
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();