Какие знаешь Coroutine Builders

«Какие знаешь Coroutine Builders» — вопрос из категории Coroutines и Flow, который задают на 39% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin Coroutines есть несколько билдеров для запуска корутин:

  1. launch - запускает корутину без результата (fire-and-forget)
scope.launch {
    // выполнение кода
}
  1. async - запускает корутину с возможностью получить результат через await()
val deferred = scope.async {
    // вычисления
    return@async result
}
val result = deferred.await()
  1. runBlocking - блокирует текущий поток до завершения корутины (используется в основном для тестов или main-функций)
runBlocking {
    // блокирующий код
}
  1. coroutineScope/supervisorScope - создают новую область видимости для корутин с разными стратегиями обработки ошибок.