Spec-Zone.ru › Kotlin 2

Объявления уровня пакета

kotlin-stdlib/kotlin.coroutines

Основные примитивы для создания и приостановки корутин: интерфейсы Continuation и CoroutineContext, функции верхнего уровня для создания и приостановки корутин.

Типы

AbstractCoroutineContextElement

Требования к платформе и версии: Common (1.3)

abstract class AbstractCoroutineContextElement(val key: CoroutineContext.Key<*>) : CoroutineContext.Element

Базовый класс для реализаций CoroutineContext.Element.

AbstractCoroutineContextKey

Требования к платформе и версии: Common (1.3)

@ExperimentalStdlibApi
abstract class AbstractCoroutineContextKey<B : CoroutineContext.Element, E : B>(baseKey: CoroutineContext.Key<B>, safeCast: (element: CoroutineContext.Element) -> E?) : CoroutineContext.Key<E>

Базовый класс для CoroutineContext.Key, связанного с полиморфной реализацией CoroutineContext.Element. Полиморфная реализация элемента предполагает делегирование вызовов get и minusKey методам getPolymorphicElement и minusPolymorphicKey соответственно.

Continuation

Требования к платформе и версии: Common (1.3)

interface Continuation<in T>

Интерфейс, представляющий продолжение после точки приостановки, которое возвращает значение типа T.

ContinuationInterceptor

Требования к платформе и версии: Common (1.3)

interface ContinuationInterceptor : CoroutineContext.Element

Помечает элемент контекста корутины, который перехватывает продолжения корутин. Инфраструктура корутин использует ContinuationInterceptor.Key, чтобы получить перехватчик, и перехватывает все продолжения корутин с помощью вызовов interceptContinuation.

CoroutineContext

Требования к платформе и версии: Common (1.3)

interface CoroutineContext

Постоянный контекст корутины. Это индексированный набор экземпляров Element. Индексированный набор сочетает в себе свойства множества и отображения. Каждый элемент этого набора имеет уникальный Key.

EmptyCoroutineContext

Требования к платформе и версии: Common (1.3)

object EmptyCoroutineContext : CoroutineContext, Serializable

Пустой контекст корутины.

ExperimentalStdlibCoroutineSupportApi

Требования к платформе и версии: Common (2.4)

@RequiresOptIn(level = RequiresOptIn.Level.ERROR)
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS])
annotation class ExperimentalStdlibCoroutineSupportApi

Эта аннотация помечает экспериментальные дополнения API стандартной библиотеки, связанные с корутинами.

RestrictsSuspension

Требования к платформе и версии: Common (1.3)

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class RestrictsSuspension

Классы и интерфейсы, помеченные этой аннотацией, ограничены при использовании в качестве получателей функций-расширений suspend. Такие расширения suspend могут вызывать только другие функции-члены или функции-расширения suspend для этого конкретного получателя и не могут вызывать произвольные функции приостановки.

SuspendFunction

Требования к платформе и версии: Native (1.3)

interface SuspendFunction<out R>

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

Свойства

coroutineContext

Требования к платформе и версии: Common (1.3)

val coroutineContext: CoroutineContext

Возвращает контекст текущей корутины.

Функции

Continuation

Требования к платформе и версии: Common (1.3)

inline fun <T> Continuation(context: CoroutineContext, crossinline resumeWith: (Result<T>) -> Unit): Continuation<T>

Создает экземпляр Continuation с указанным context и реализацией метода resumeWith.

createCoroutine

Требования к платформе и версии: Common (1.3)

fun <T> suspend () -> T.createCoroutine(completion: Continuation<T>): Continuation<Unit>

Создает корутину без получателя с типом результата T. Эта функция каждый раз при вызове создает новый экземпляр приостанавливаемого вычисления.

fun <R, T> suspend R.() -> T.createCoroutine(receiver: R, completion: Continuation<T>): Continuation<Unit>

Создает корутину с типом получателя R и типом результата T. Эта функция каждый раз при вызове создает новый экземпляр приостанавливаемого вычисления.

getPolymorphicElement

Требования к платформе и версии: Common (1.3)

@ExperimentalStdlibApi
fun <E : CoroutineContext.Element> CoroutineContext.Element.getPolymorphicElement(key: CoroutineContext.Key<E>): E?

Возвращает текущий элемент, если он полиморфно связан с указанным key, или null в противном случае. Этот метод возвращает ненулевое значение, если Element.key равен указанному key или если key связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в описании AbstractCoroutineContextKey.

minusPolymorphicKey

Требования к платформе и версии: Common (1.3)

@ExperimentalStdlibApi
fun CoroutineContext.Element.minusPolymorphicKey(key: CoroutineContext.Key<*>): CoroutineContext

Возвращает пустой контекст корутины, если элемент полиморфно связан с указанным key, или this в противном случае. Этот метод возвращает пустой контекст, если Element.key равен указанному key или если key связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в описании AbstractCoroutineContextKey.

resume

Требования к платформе и версии: Common (1.3)

inline fun <T> Continuation<T>.resume(value: T)

Возобновляет выполнение соответствующей корутины, передавая value в качестве возвращаемого значения последней точки приостановки.

resumeWithException

Требования к платформе и версии: Common (1.3)

inline fun <T> Continuation<T>.resumeWithException(exception: Throwable)

Возобновляет выполнение соответствующей корутины, чтобы исключение exception было повторно выброшено сразу после последней точки приостановки.

startCoroutine

Требования к платформе и версии: Common (1.3)

fun <T> suspend () -> T.startCoroutine(completion: Continuation<T>)

Запускает корутину без получателя с типом результата T. Эта функция каждый раз при вызове создает и запускает новый экземпляр приостанавливаемого вычисления. Продолжение completion вызывается, когда корутина завершается с результатом или исключением.

fun <R, T> suspend R.() -> T.startCoroutine(receiver: R, completion: Continuation<T>)

Запускает корутину с типом получателя R и типом результата T. Эта функция каждый раз при вызове создает и запускает новый экземпляр приостанавливаемого вычисления. Продолжение completion вызывается, когда корутина завершается с результатом или исключением.

suspendCoroutine

Требования к платформе и версии: Common (1.3)

inline suspend fun <T> suspendCoroutine(crossinline block: (Continuation<T>) -> Unit): T

Получает экземпляр текущего продолжения внутри функций приостановки и приостанавливает выполняющуюся в данный момент корутину.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API