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