Back to questions
Junior — Middle
81
Какими методами можно переключать выполнение корутин в рамках одного потока?
Answer from AI
sobes.tech AI
В Kotlin корутины можно переключать внутри одного потока с помощью различных диспетчеров и функций:
- withContext(Dispatchers.Main) — переключение на главный (UI) поток.
- withContext(Dispatchers.Default) — переключение на пул потоков для CPU-интенсивных задач.
- withContext(Dispatchers.IO) — переключение на пул потоков для операций ввода-вывода.
Кроме того, можно использовать yield() для добровольной передачи управления другим корутинам в рамках текущего потока.
Пример переключения контекста:
launch {
// Работа в основном потоке
withContext(Dispatchers.IO) {
// Выполнение операции ввода-вывода
}
// Возврат в основной поток
}