LazyLock — 지연 초기화 동기화 타입
LazyLock — 지연 초기화 동기화 타입
LazyLock<T, F>는 값이 처음 접근될 때까지 초기화를 지연시키는 타입이에요. OnceLock을 기반으로 하며 스레드 안전해요.
출처: Rust 공식 문서
본문
pub struct LazyLock<T, F = fn() -> T> { /* private fields */ }
LazyLock::new(initializer)로 생성하고, *lazy처럼 Deref로 접근하면 T를 얻을 수 있어요. force 호출 시 최초 접근에서 초기화 함수를 실행해요.
주요 메서드
pub const fn new(f: F) -> LazyLock<T, F>
pub fn force(this: &LazyLock<T, F>) -> &T
pub fn into_inner(this: LazyLock<T, F>) -> Result<T, F>
pub fn get(&self) -> Option<&T>