Spec-Zone.ru › Kotlin 2

TransferMode

kotlin-stdlib/kotlin.native.concurrent/TransferMode

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

@ObsoleteWorkersApi
enum TransferMode : Enum<TransferMode>

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

Основы передачи объектов.

Объекты можно передавать между потоками в одном из двух возможных режимов.

  • SAFE — проверяется, что подграф объекта недостижим из других глобальных или локальных переменных; если это так, объект передаётся, в противном случае выбрасывается исключение

  • UNSAFE — объект без проверок передаётся другому исполнителю; если в передающем исполнителе остаются ссылки, это может привести к сбою или неправильной работе программы

В безопасном режиме с помощью специфичного для управления памятью алгоритма проверяется, что объект больше не используется в передающем исполнителе (в реализации ARC для этого выполняется пробное удаление графа объектов с корнем в передаваемом объекте), и выбрасывается IllegalStateException, если граф объектов с корнем в переданном объекте достижим каким-либо другим способом.

Небезопасный режим предназначен для наиболее критичных к производительности операций, в которых ожидается корректное владение графом объектов (например, если приложение ранее отлаживалось в режиме SAFE); он передаёт владение без дополнительных проверок.

Обратите внимание: в некоторых случаях необходимо выполнить сборку циклов, чтобы убедиться, что недостижимые циклы не влияют на достижимость передаваемого графа объектов.

См. также

GC.collect

.

Элементы

SAFE

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

SAFE

Выполняется проверка достижимости.

UNSAFE

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

UNSAFE

Проверка достижимости пропускается, что может привести к непредсказуемым сбоям приложения. ИСПОЛЬЗУЙТЕ НЕБЕЗОПАСНЫЙ РЕЖИМ, ТОЛЬКО ЕСЛИ АБСОЛЮТНО УВЕРЕНЫ В СВОИХ ДЕЙСТВИЯХ!!!

Свойства

declaringJavaClass

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

val <E : Enum<E>> Enum<E>.declaringJavaClass: Class<E>

Возвращает экземпляр Java Class перечисления, которому принадлежит указанная константа.

entries

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

val entries: EnumEntries<TransferMode>

Возвращает представление в виде неизменяемого списка всех элементов перечисления в порядке их объявления.

name

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

actual val name: String

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

ordinal

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

actual val ordinal: Int

Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления, где начальной константе присваивается порядковый номер ноль).

value

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

val value: Int

Функции

compareTo

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

infix inline fun <T> Comparable<T>.compareTo(other: T): Int

Сравнивает этот объект с указанным объектом для определения порядка. Возвращает ноль, если этот объект равен указанному объекту other, отрицательное число, если он меньше other, или положительное число, если он больше other.

valueOf

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

fun valueOf(value: String): TransferMode

Возвращает константу этого типа перечисления с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Пробелы в строке не допускаются.)

values

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

fun values(): Array<TransferMode>

Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления.

© 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/-transfer-mode/index.html

Spec-Zone.ru

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