Ответ
Thread Pool — это управляемый набор потоков, который переиспользует потоки для выполнения задач, избегая накладных расходов на создание/уничтожение. Пул автоматически регулирует количество активных потоков и очередь задач.
Массив с потоками — это просто коллекция созданных вручную потоков, каждый из которых выполняет свою задачу. Управление (старт, остановка, контроль) ложится на разработчика.
Пример Thread Pool:
val executor = Executors.newFixedThreadPool(4)
executor.execute { /* задача */ }
Пример массива потоков:
val threads = Array(4) { Thread { /* задача */ } }
threads.forEach { it.start() }
Пул эффективнее для множества коротких задач, массив — когда нужно точное управление каждым потоком.