Spec-Zone.ru › Kotlin 2

SYNCHRONIZED

kotlin-stdlib/kotlin/LazyThreadSafetyMode/SYNCHRONIZED
SYNCHRONIZED

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

Примеры

import kotlin.concurrent.thread

fun main() { 
   //sampleStart 
   val answer: Int by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
    println("Computing the answer to the Ultimate Question of Life, the Universe, and Everything")
    42
}

val t1 = thread {
    println("Thread 1: $answer")
}

val t2 = thread {
    println("Thread 2: $answer")
}

// It is guaranteed that 'Computing' message will be printed once, and both threads will see 42 as an answer
t1.join()
t2.join() 
   //sampleEnd
}

Свойства

name
expect val name: String

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

ordinal
expect val ordinal: Int

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

© 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/-lazy-thread-safety-mode/-s-y-n-c-h-r-o-n-i-z-e-d/index.html

Spec-Zone.ru

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