Ответ
В Kotlin Coroutines есть несколько стандартных Dispatchers:
- Dispatchers.Main - для работы с UI (использует главный поток Android)
- Dispatchers.IO - для операций ввода-вывода (сетевые запросы, работа с БД)
- Dispatchers.Default - для CPU-интенсивных операций (сортировка, сложные вычисления)
- Dispatchers.Unconfined - не привязан к конкретному потоку (используется редко)
Пример:
viewModelScope.launch(Dispatchers.IO) {
val data = repository.fetchData() // IO операция
withContext(Dispatchers.Main) {
updateUi(data) // UI операция
}
}