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