Какие знаешь способы запуска coroutine

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

Ответ

В Kotlin корутины можно запускать несколькими способами:

  1. launch – запускает корутину без возврата результата:
GlobalScope.launch {
    // асинхронный код
}
  1. async – запускает корутину с возможностью получить результат через await():
val deferred = GlobalScope.async {
    // вычисления
    42
}
val result = deferred.await()
  1. runBlocking – блокирует текущий поток до завершения корутины (используется в тестах или main()):
runBlocking {
    delay(1000)
    println("Done")
}
  1. coroutineScope – создает новую область видимости для корутин:
suspend fun doWork() = coroutineScope {
    launch { /* задача 1 */ }
    async { /* задача 2 */ }
}

Важно выбирать подходящий dispatcher (Dispatchers.IO, Dispatchers.Main и т.д.) в зависимости от типа работы.