Для чего используется пул потоков (Thread Pool)

«Для чего используется пул потоков (Thread Pool)» — вопрос из категории Многопоточность, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Пул потоков (Thread Pool) — это механизм для управления многопоточностью, который переиспользует заранее созданные потоки для выполнения задач. Это позволяет избежать накладных расходов на создание/уничтожение потоков для каждой задачи.

Преимущества:

  • Экономия ресурсов (не создаём потоки каждый раз)
  • Контроль количества одновременно работающих потоков
  • Удобное управление задачами (очередь, приоритеты)

Пример (Kotlin + Coroutines):

val threadPool = Executors.newFixedThreadPool(4)
threadPool.execute {
    // Выполнение задачи в фоне
}

В Android чаще используют Coroutine Dispatchers (IO, Default) вместо raw ThreadPool.