Transfer Mode
Требования к платформе и версии: Native (1.3)
enum TransferMode : Enum<TransferMode>
Примечание: современный менеджер памяти Kotlin/Native позволяет совместно использовать объекты между потоками без дополнительных действий, поэтому TransferMode влияет только на устаревший менеджер памяти.
Основы передачи объектов.
Объекты можно передавать между потоками в одном из двух возможных режимов.
SAFE — проверяется, что подграф объекта недостижим из других глобальных или локальных переменных; если это так, объект передаётся, в противном случае выбрасывается исключение
UNSAFE — объект без проверок передаётся другому исполнителю; если в передающем исполнителе остаются ссылки, это может привести к сбою или неправильной работе программы
В безопасном режиме с помощью специфичного для управления памятью алгоритма проверяется, что объект больше не используется в передающем исполнителе (в реализации ARC для этого выполняется пробное удаление графа объектов с корнем в передаваемом объекте), и выбрасывается IllegalStateException, если граф объектов с корнем в переданном объекте достижим каким-либо другим способом.
Небезопасный режим предназначен для наиболее критичных к производительности операций, в которых ожидается корректное владение графом объектов (например, если приложение ранее отлаживалось в режиме SAFE); он передаёт владение без дополнительных проверок.
Обратите внимание: в некоторых случаях необходимо выполнить сборку циклов, чтобы убедиться, что недостижимые циклы не влияют на достижимость передаваемого графа объектов.
См. также
Элементы
Свойства
Требования к платформе и версии: Native (1.3)
val entries: EnumEntries<TransferMode>
Возвращает представление в виде неизменяемого списка всех элементов перечисления в порядке их объявления.
Функции
Требования к платформе и версии: Native (1.3)
fun valueOf(value: String): TransferMode
Возвращает константу этого типа перечисления с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Пробелы в строке не допускаются.)
Требования к платформе и версии: 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