Ответ
Плюсы:
- Позволяет выполнять длительные операции без блокировки UI
- Улучшает отзывчивость приложения
- Можно распределять нагрузку между ядрами процессора
Минусы:
- Сложность синхронизации с UI-потоком (только через
runOnUiThreadилиHandler) - Возможны утечки памяти (например, если поток держит ссылку на Activity)
- Требует ручного управления жизненным циклом
Пример:
Thread {
// Фоновая работа
runOnUiThread {
// Обновление UI
}
}.start()
Альтернативы: Kotlin Coroutines, RxJava, AsyncTask (deprecated)