Sobes.tech
Junior — Middle

Можете ли да обясните какво е класът ThreadPoolExecutor и как се използва при управлението на нишки?

sobes.tech AI

Отговор от AI

ThreadPoolExecutor — това е клас от пакета java.util.concurrent, който управлява пул от нишки за изпълнение на задачи асинхронно. Вместо да създава нова нишка за всяка задача, той рециклира ограничен брой нишки, което повишава производителността и намалява разходите.

Основни моменти при използване:

  • Създава се пул с фиксирано или динамично число нишки.
  • Задачите (Runnable или Callable) се поставят в опашка и се изпълняват, когато нишките са свободни.
  • Позволява контрол върху максималния брой нишки, работещи едновременно.

Пример за използване:

import java.util.concurrent.*;

ExecutorService executor = Executors.newFixedThreadPool(3);

executor.submit(() -> {
    System.out.println("Изпълнение на задача в нишка " + Thread.currentThread().getName());
});

executor.shutdown();

Този подход помага ефективно да се управляват ресурсите и опростява паралелното изпълнение на задачи в Android и Java приложения.