enum class LazyThreadSafetyMode (source)

Specifies how a Lazy instance synchronizes initialization among multiple threads.

Enum Values


Locks are used to ensure that only a single thread can initialize the Lazy instance.


Initializer function can be called several times on concurrent access to uninitialized Lazy instance value, but only the first returned value will be used as the value of Lazy instance.


No locks are used to synchronize an access to the Lazy instance value; if the instance is accessed from multiple threads, its behavior is undefined.

Inherited Properties


val name: String

Returns the name of this enum constant, exactly as declared in its enum declaration.


val ordinal: Int

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

Inherited Functions


fun clone(): Any

Throws an exception since enum constants cannot be cloned. This method prevents enum classes from inheriting from Cloneable.


fun compareTo(other: E): Int

Compares this object with the specified object for order. Returns zero if this object is equal to the specified other object, a negative number if it's less than other, or a positive number if it's greater than other.


fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:


fun hashCode(): Int

Returns a hash code value for the object. The general contract of hashCode is:


open fun toString(): String

Returns a string representation of the object.