Spec-Zone.ru › Kotlin 2

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

kotlin-stdlib/kotlin.native.concurrent

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

Типы

AtomicInt

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

class AtomicInt(var value: Int)

Значение Int, которое всегда обновляется атомарно. Дополнительные сведения о гарантиях атомарности при чтении и записи см. в kotlin.concurrent.Volatile.

AtomicLong

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

class AtomicLong(var value: Long = 0)

Значение Long, которое всегда обновляется атомарно. Дополнительные сведения о гарантиях атомарности при чтении и записи см. в kotlin.concurrent.Volatile.

AtomicNativePtr

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

class AtomicNativePtr(var value: NativePtr)

Значение kotlinx.cinterop.NativePtr, которое всегда обновляется атомарно. Дополнительные сведения о гарантиях атомарности при чтении и записи см. в kotlin.concurrent.Volatile.

AtomicReference

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

class AtomicReference<T>(var value: T)

Ссылка на объект, которая всегда обновляется атомарно.

Continuation0

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

class Continuation0(block: () -> Unit, invoker: CPointer<CFunction<(COpaquePointer?) -> Unit>>, singleShot: Boolean = false) : Function0<Unit> 
Continuation1

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

class Continuation1<T1>(block: (p1: T1) -> Unit, invoker: CPointer<CFunction<(COpaquePointer?) -> Unit>>, singleShot: Boolean = false) : Function1<T1, Unit> 
Continuation2

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

class Continuation2<T1, T2>(block: (p1: T1, p2: T2) -> Unit, invoker: CPointer<CFunction<(COpaquePointer?) -> Unit>>, singleShot: Boolean = false) : Function2<T1, T2, Unit> 
DetachedObjectGraph

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

@ObsoleteWorkersApi
class DetachedObjectGraph<T>

Отсоединённый граф объектов инкапсулирует передаваемый отсоединённый подграф, к которому нельзя получить доступ извне, пока он не будет присоединён с помощью функции расширения attach.

FreezableAtomicReference

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

class FreezableAtomicReference<T>(var value: T)

Этот класс был полезен только с устаревшим менеджером памяти. Вместо него используйте AtomicReference.

FreezingException

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

class FreezingException(toFreeze: Any, blocker: Any) : RuntimeException

Исключение, которое возникает, когда заморозка невозможна.

Future

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

@ObsoleteWorkersApi
value class Future<T>

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

FutureState

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

@ObsoleteWorkersApi
enum FutureState : Enum<FutureState>

Состояние объекта future.

InvalidMutabilityException

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

class InvalidMutabilityException(message: String) : RuntimeException

Исключение, которое возникает при попытке изменить замороженные объекты.

MutableData

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

class MutableData(capacity: Int = 16)

Изменяемый буфер данных с параллельным доступом. К нему могут одновременно обращаться несколько workers.

ObsoleteWorkersApi

Требования к платформе и версии: Native (1.9), Wasm-JS (1.9), Wasm-WASI (1.9)

@RequiresOptIn(message = "Workers API is obsolete and will be replaced with threads eventually", level = RequiresOptIn.Level.WARNING)
@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 ObsoleteWorkersApi

Помечает весь API, связанный с Worker, как устаревший.

SharedImmutable

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

@Target(allowedTargets = [AnnotationTarget.PROPERTY])
expect annotation class SharedImmutable

Эта аннотация не оказывает никакого эффекта, поэтому её можно безопасно удалить.

ThreadLocal

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

@Target(allowedTargets = [AnnotationTarget.PROPERTY, AnnotationTarget.CLASS])
expect annotation class ThreadLocal

Помечает свойство верхнего уровня с полем хранения или объект как локальный для потока. Объект остаётся изменяемым, и его состояние можно менять, но у каждого потока будет собственная копия этого объекта, поэтому изменения в одном потоке не отражаются в другом.

TransferMode

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

@ObsoleteWorkersApi
enum TransferMode : Enum<TransferMode>

Примечание: современный менеджер памяти Kotlin/Native позволяет совместно использовать объекты между потоками без дополнительных процедур, поэтому TransferMode действует только с устаревшим менеджером памяти.

Worker

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

@ObsoleteWorkersApi
value class Worker

Класс, представляющий worker.

WorkerBoundReference

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

@ObsoleteWorkersApi
class WorkerBoundReference<out T : Any>(val value: T)

Общая ссылка на объект Kotlin, которая не замораживает целевой объект при заморозке самой ссылки.

Свойства

isFrozen

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

val Any?.isFrozen: Boolean

Проверяет, является ли указанный объект null, замороженным или постоянным (то есть созданным во время компиляции).

Функции

atomicLazy

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

fun <T> atomicLazy(initializer: () -> T): Lazy<T>

Атомарный ленивый инициализатор можно использовать в замороженных объектах; он замораживает лямбда-выражение инициализации, поэтому применять его следует очень осторожно. Кроме того, как и при других способах использования AtomicReference, он может привести к утечке памяти. Поэтому в случаях, когда объекты существуют постоянно (например, синглтоны object), или когда гарантировано отсутствие циклического мусора, рекомендуется использовать atomicLazy.

attach

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

@ObsoleteWorkersApi
inline fun <T> DetachedObjectGraph<T>.attach(): T

Присоединяет ранее отсоединённый подграф объектов, созданный с помощью DetachedObjectGraph. Обратите внимание: после присоединения графа объектов указатель DetachedObjectGraph.stable теряет смысл и должен быть отброшен, поэтому один объект DetachedObjectGraph можно присоединить только один раз.

callContinuation0

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

fun COpaquePointer.callContinuation0()
callContinuation1

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

fun <T1> COpaquePointer.callContinuation1()
callContinuation2

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

fun <T1, T2> COpaquePointer.callContinuation2()
ensureNeverFrozen

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

fun Any.ensureNeverFrozen()

Эта функция гарантирует, что при обнаружении такого объекта во время попытки заморозки операция завершится неудачно и будет выброшено исключение FreezingException.

freeze

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

fun <T> T.freeze(): T

Замораживает подграф объектов, достижимых из этого объекта. Замороженными объектами можно свободно обмениваться между потоками/workers.

waitForMultipleFutures

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

@ObsoleteWorkersApi
fun <T> waitForMultipleFutures(futures: Collection<Future<T>>, timeoutMillis: Int): Set<Future<T>>

Ожидает доступности future в коллекции. Возвращает набор со всеми future, значения которых доступны для использования, то есть имеющими состояние FutureState.COMPUTED.

waitForMultipleFutures

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

@ObsoleteWorkersApi
fun <T> Collection<Future<T>>.waitForMultipleFutures(millis: Int): Set<Future<T>>
waitWorkerTermination

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

@ObsoleteWorkersApi
external fun waitWorkerTermination(worker: Worker)
withWorker

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

@ObsoleteWorkersApi
inline fun <R> withWorker(name: String? = null, errorReporting: Boolean = true, block: Worker.() -> R): R

Выполняет блок, используя новый Worker в качестве ресурса: запускает новый worker, вызывает предоставленный блок (в текущем контексте), передавая ему в качестве this запущенный worker, а после завершения блока останавливает worker. Эта операция довольно затратна, поэтому при частом выполнении используйте предварительно настроенный worker или пул workers.

© 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.native.concurrent/index.html

Spec-Zone.ru

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