Какие знаешь основные Dispatchers в Android

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

Ответ

В Kotlin Coroutines есть несколько стандартных Dispatchers:

  1. Dispatchers.Main - для работы с UI (использует главный поток Android)
  2. Dispatchers.IO - для операций ввода-вывода (сетевые запросы, работа с БД)
  3. Dispatchers.Default - для CPU-интенсивных операций (сортировка, сложные вычисления)
  4. Dispatchers.Unconfined - не привязан к конкретному потоку (используется редко)

Пример:

viewModelScope.launch(Dispatchers.IO) {
    val data = repository.fetchData() // IO операция
    withContext(Dispatchers.Main) {
        updateUi(data) // UI операция
    }
}