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 приложения.