Ответ
Thread Pool — это набор предсозданных потоков, которые переиспользуются для выполнения задач. Вместо создания нового потока для каждой задачи (что дорого), Thread Pool берет свободный поток из пула и назначает ему задачу.
Преимущества:
- Уменьшает накладные расходы на создание/уничтожение потоков
- Контролирует количество одновременно работающих потоков
Пример (Kotlin):
val executor = Executors.newFixedThreadPool(4) // Пул из 4 потоков
executor.execute {
// Выполнение задачи в фоновом потоке
Log.d("ThreadPool", "Task running in ${Thread.currentThread().name}")
}
executor.shutdown() // Завершение работы пула
Используется в:
- AsyncTask (устарел)
- Coroutine Dispatchers (например,
Dispatchers.IO) - WorkManager для фоновых задач