Junior — Middle
Ce implementări ale interfeței ExecutorService cunoști și în ce diferă?
sobes.tech AI
Răspuns de la AI
ExecutorService — este o interfață pentru gestionarea unui pool de fire de execuție și executarea asincronă a sarcinilor. Principalele implementări din biblioteca standard Java:
- ThreadPoolExecutor — cea mai flexibilă și frecvent utilizată implementare, permite configurarea dimensiunii pool-ului, cozii de sarcini și politicii de gestionare a suprasarcinii.
- ScheduledThreadPoolExecutor — o extensie a ThreadPoolExecutor, suportă planificarea sarcinilor cu întârziere sau executarea periodică.
- ForkJoinPool — destinat sarcinilor care pot fi împărțite în sub-sarcini (utilizat în framework-ul Fork/Join), eficient pentru calcule paralele.
Diferențe:
- ThreadPoolExecutor este potrivit pentru scopuri generale.
- ScheduledThreadPoolExecutor — pentru sarcini cu temporizatoare.
- ForkJoinPool — pentru paralelism recursiv.
Exemplu de creare a unui ThreadPoolExecutor:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Sarcină finalizată"));
executor.shutdown();