Какими методами можно инициировать выполнение coroutine в Kotlin?

В Kotlin coroutine можно инициировать несколькими способами, в зависимости от контекста и требований:

Короткий ответ

Что ответить на собеседовании

В Kotlin coroutine можно инициировать несколькими способами, в зависимости от контекста и требований:

Подробный разбор

Ответ с пояснениями

В Kotlin coroutine можно инициировать несколькими способами, в зависимости от контекста и требований:

  • launch — запускает новую coroutine, не блокируя текущий поток, возвращает Job. Используется для фоновых задач.
GlobalScope.launch {
    // код в coroutine
}
  • async — запускает coroutine и возвращает Deferred, который можно использовать для получения результата асинхронно.
val deferred = GlobalScope.async {
    // вычисление
    42
}
val result = deferred.await()
  • runBlocking — блокирует текущий поток до завершения coroutine, обычно используется в main или тестах.
runBlocking {
    // код
}
  • withContext — переключает контекст выполнения внутри coroutine, например, на другой диспетчер.
withContext(Dispatchers.IO) {
    // операция ввода-вывода
}

Выбор метода зависит от того, нужно ли получить результат, блокировать поток или просто запустить задачу в фоне.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку