Что такое launch в Coroutines

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

Ответ

launch — это корутин-билдер, который запускает новую корутину без блокировки текущего потока. Возвращает Job, который можно использовать для управления жизненным циклом корутины (отмена, ожидание завершения). По умолчанию корутина запускается в контексте родительской корутины или указанном CoroutineScope.

Особенности:

  • Не возвращает результат (используется для fire-and-forget операций)
  • По умолчанию обрабатывает исключения через родительский scope
  • Может быть отменена через возвращаемый Job
scope.launch {
    // асинхронный код
    delay(1000)
    println("Выполнено")
}
val job = scope.launch { ... }
job.cancel() // отмена корутины