在 Rust 中,once_cell 是一个非常有用的 crate,用于实现惰性初始化(lazy initialization)的单例模式。它允许某些值只被初始化一次,并且之后始终保持不变。该功能在需要全局变量或延迟计算的情况下非常实用。
关键概念
- 线程安全(sync)与非线程安全(unsync)
• OnceCell:适用于单线程场景。
• SyncOnceCell:线程安全,适用于多线程场景。 - 惰性初始化
值只会在第一次访问时被初始化,这可以避免不必要的计算和资源分配。
使用方法
- OnceCell 基本使用
use once_cell::unsync::OnceCell;
fn main() {
let cell = OnceCell::new();
// 初始化
cell.set("Hello, OnceCell!").unwrap();
// 访问
标签:初始化,包之,cell,线程,OnceCell,Rust,once
From: https://blog.csdn.net/weixin_43001122/article/details/144301570