Ответ
Корутины в Kotlin состоят из нескольких ключевых элементов:
- CoroutineScope – определяет область видимости корутины (например,
lifecycleScopeв Android). - Dispatcher – определяет поток выполнения:
Dispatchers.Main– UI-поток.Dispatchers.IO– для операций ввода-вывода.Dispatchers.Default– для CPU-интенсивных задач.
- Job – управляет жизненным циклом корутины (можно отменять).
- Deferred – аналог
Future, возвращает результат асинхронно (async). - CoroutineContext – объединяет
Dispatcher,Jobи другие элементы.
Пример:
viewModelScope.launch(Dispatchers.IO) {
val result = async { fetchData() }.await()
withContext(Dispatchers.Main) { updateUI(result) }
}