Spec-Zone.ru › Kotlin 1.9

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–2023 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