Что такое параллелизм

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

Ответ

Параллелизм — это способность системы выполнять несколько задач одновременно, используя несколько потоков или процессов. В Android это реализуется через Thread, Handler, AsyncTask (устарел), Coroutines или RxJava.

Пример с корутинами:

viewModelScope.launch(Dispatchers.IO) {
    val data = fetchData() // Блокирующая операция в фоне
    withContext(Dispatchers.Main) {
        updateUI(data) // Обновление UI в главном потоке
    }
}

Нюансы:

  • UI-операции только в главном потоке (Main/UI).
  • Блокировка главного потока приводит к ANR.
  • Корутины предпочтительны из-за простоты и меньшего boilerplate.