В чем разница между Thread Pool и массивом с потоками

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

Ответ

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

Массив с потоками — это просто коллекция созданных вручную потоков, каждый из которых выполняет свою задачу. Управление (старт, остановка, контроль) ложится на разработчика.

Пример Thread Pool:

val executor = Executors.newFixedThreadPool(4)
executor.execute { /* задача */ }

Пример массива потоков:

val threads = Array(4) { Thread { /* задача */ } }
threads.forEach { it.start() }

Пул эффективнее для множества коротких задач, массив — когда нужно точное управление каждым потоком.