Может ли быть потоков больше чем 1

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

Ответ

Да, в Android может быть больше одного потока. Основной поток (UI thread) отвечает за отрисовку интерфейса и обработку событий пользователя. Дополнительные потоки (worker threads) используются для выполнения долгих операций (сеть, БД, вычисления), чтобы не блокировать UI.

Пример создания потока:

Thread {
    // Долгая операция
    runOnUiThread { /* Обновляем UI */ }
}.start()

Или с использованием Coroutine (рекомендуется):

lifecycleScope.launch(Dispatchers.IO) {
    // Фоновая работа
    withContext(Dispatchers.Main) { /* Обновляем UI */ }
}

⚠️ Важно синхронизировать доступ к общим данным между потоками.