Junior — Middle
Aké implementácie rozhrania ExecutorService poznáš a v čom sa líšia?
sobes.tech AI
Odpoveď od AI
ExecutorService je rozhranie na správu vlákien a asynchrónne vykonávanie úloh. Hlavné implementácie zo štandardnej knižnice Java:
- ThreadPoolExecutor — najflexibilnejšia a často používaná implementácia, umožňuje konfigurovať veľkosť poolu, frontu úloh a politiku spracovania preťaženia.
- ScheduledThreadPoolExecutor — rozšírenie ThreadPoolExecutor, podporuje plánovanie úloh s oneskorením alebo periodické vykonávanie.
- ForkJoinPool — určené pre úlohy, ktoré je možné rozdeliť na podúlohy (používa sa v rámci Fork/Join frameworku), efektívne pre paralelné výpočty.
Rozdiely:
- ThreadPoolExecutor je vhodný pre všeobecné účely.
- ScheduledThreadPoolExecutor — pre úlohy s časovačmi.
- ForkJoinPool — pre rekurzívny paralelizmus.
Príklad vytvorenia ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Úloha dokončená"));
executor.shutdown();