Sobes.tech
Junior — Middle

Кадом иҷрои интерфейси ExecutorService-ро медонӣ ва онҳо чӣ фарқ доранд?

sobes.tech AI

Ҷавоб аз AI

ExecutorService — бу интерфейс барои идоракунии пулҳои сӯзанҳо ва иҷрои асинхронӣ кардани вазифаҳо. Иҷрои асосии стандартии Java:

  • ThreadPoolExecutor — самараноктарин ва маъмултарин иҷроиш, имкон медиҳад, ки андозаи пул, навбатии вазифаҳо ва сиёсати идоракунии борро танзим кардан.
  • ScheduledThreadPoolExecutor — васеъкунии ThreadPoolExecutor, дастгирӣ мекунад нақшаи вазифаҳо бо таъхир ё иҷрои даврӣ.
  • ForkJoinPool — барои вазифаҳо, ки метавонанд ба вазифаҳои зер тақсим шаванд (дар рамзи Fork/Join истифода мешавад), барои ҳисобҳои параллелӣ самаранок аст.

Фарқиятҳо:

  • ThreadPoolExecutor барои мақсадҳои умумӣ мувофиқ аст.
  • ScheduledThreadPoolExecutor — барои вазифаҳо бо таймерҳо.
  • ForkJoinPool — барои параллелизми рекурсивӣ.

Масалан барои сохтани ThreadPoolExecutor:

ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Вазифа иҷро шуд"));
executor.shutdown();