get

suspend fun get(): T

Returns the value, running the initializer on the first call.

Concurrent first calls share one initialization: one caller runs the initializer while the others wait for its outcome.

Cancellation: cancelling the initializing caller stops the initializer and leaves the value uninitialized; the next caller runs the initializer again. Cancelling a waiting caller only stops its wait and rethrows.