Назад к вопросам
Газпром Медиа
Junior — Middle
75
Какие способы выполнения задач в Coroutines ты знаешь?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Kotlin Coroutines задачи можно выполнять несколькими способами:
-
launch — запускает новую корутину, которая выполняется параллельно и не возвращает результат. Используется для фоновых задач, где не нужен результат.
-
async — запускает корутину, которая возвращает результат в виде Deferred, позволяя получить результат через await(). Подходит для параллельных вычислений с результатом.
-
runBlocking — блокирует текущий поток до завершения корутины, часто используется в main-функциях или тестах.
-
withContext — переключает контекст выполнения (например, на Dispatchers.IO для операций ввода-вывода) и выполняет блок кода, возвращая результат.
Пример:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000)
println("Задача в launch")
}
val result = async {
delay(500)
42
}
println("Результат async: ${result.await()}")
}