Ответ
В Android для создания Thread Pool можно использовать ExecutorService. Рекомендуется использовать ThreadPoolExecutor с настраиваемыми параметрами:
val threadPool: ExecutorService = Executors.newFixedThreadPool(4) // 4 потока
// Или с тонкой настройкой:
val customPool = ThreadPoolExecutor(
2, // минимальное кол-во потоков
4, // максимальное
60L, TimeUnit.SECONDS, // время простоя до умирания
LinkedBlockingQueue() // очередь задач
)
Использование:
threadPool.execute {
// Фоновая работа
}
Важно:
- Для UI-задач используйте
Handler,CoroutineилиAsyncTask(deprecated) - Закрывайте пул через
shutdown()илиshutdownNow() - В Kotlin предпочтительнее Coroutines с
Dispatchers.IO