BaseDoubleCheck
abstract class BaseDoubleCheck<T : Any>(provider: Provider<T>) : SynchronizedObject, Provider<T> , Lazy<T> (source)
A Lazy and Provider implementation that memoizes the value returned from a provider. The provider instance is released after it's called.
Modification notes:
Some semantics from the kotlin stdlib's synchronized Lazy impl are ported to here.
Uses AtomicFu's synchronized + SynchronizedObject APIs for KMP support.
The _value will eagerly return if initialized