Sobes.tech
Back to questions
Junior — Middle
73

Какие основные методы доступны в интерфейсе CoroutineScope для управления корутинами?

Companies where asked
ПромсвязьбанкПромсвязьбанк
ПСБ

Answer from AI

sobes.tech AI

Интерфейс CoroutineScope в Kotlin предоставляет контекст корутины и позволяет запускать корутины в этом контексте. Основные методы для управления корутинами:

  • launch { ... } — запускает новую корутину без возвращаемого результата (Job).
  • async { ... } — запускает корутину, которая возвращает результат в виде Deferred, позволяющего получить значение позже.

Пример использования:

class MyScope : CoroutineScope {
    override val coroutineContext = Job() + Dispatchers.Default
}

val scope = MyScope()
scope.launch {
    // выполняется асинхронная задача
}

val deferred = scope.async {
    // вычисление с результатом
    42
}

runBlocking {
    println(deferred.await()) // выводит 42
}

Кроме того, CoroutineScope наследует coroutineContext, который можно использовать для управления жизненным циклом корутин (например, отмена через Job).