Spec-Zone.ru › Kotlin 1.8

lazy

kotlin-stdlib / kotlin / lazy
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)
fun <T> lazy(initializer: () -> T): Lazy<T>
Для JVM, Native

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer и режим потоковой безопасности по умолчанию LazyThreadSafetyMode.SYNCHRONIZED.

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

Обратите внимание, что возвращаемый экземпляр использует себя для синхронизации. Не синхронизируйте внешний код на возвращаемом экземпляре, так как это может привести к случайной блокировке. Это поведение может быть изменено в будущем.

Для JS

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer.

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)
fun <T> lazy(
    mode: LazyThreadSafetyMode, 
    initializer: () -> T
): Lazy<T>
Для Common, JS

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer.

Параметр mode игнорируется.

Для JVM, Native

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer и режим потоковой безопасности mode.

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

Обратите внимание, что когда указан режим LazyThreadSafetyMode.SYNCHRONIZED, возвращаемый экземпляр использует себя для синхронизации. Не синхронизируйте внешний код на возвращаемом экземпляре, так как это может привести к случайной блокировке. Это поведение может быть изменено в будущем.

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)
fun <T> lazy(lock: Any?, initializer: () -> T): Lazy<T>
Для Common, JS

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer.

Параметр lock игнорируется.

Для JVM, Native

Создаёт новый экземпляр Lazy, использующий указанную функцию инициализации initializer и режим потоковой безопасности по умолчанию LazyThreadSafetyMode.SYNCHRONIZED.

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

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

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/lazy.html

Spec-Zone.ru

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