#once-cell #lazy-evaluation #critical #no-std #critical-section #backed #thread-safe

no-std critical-once-cell

由临界区支持的线程安全的 OnceCell 和 Lazy

1 个不稳定版本

0.1.0 2022年4月20日

#7#critical

MPL-2.0 许可证

13KB
213

Pipeline Crates.io API reference

critical-once-cell

用于替换 [core::lazy::OnceCell] 和 [core::lazy::Lazy],由 [critical_section] 支持。

示例

CriticalOnceCell

use critical_once_cell::CriticalOnceCell;

static CELL: CriticalOnceCell<String> = CriticalOnceCell::new();

fn main() {
    CELL.set("Hello, World!".to_owned()).unwrap();

    assert_eq!(*CELL.get().unwrap(), "Hello, World!");
}

CriticalLazy

use critical_once_cell::CriticalLazy;

static LAZY: CriticalLazy<String> = CriticalLazy::new(|| "Hello, World!".to_owned());

fn main() {
    assert_eq!(*LAZY, "Hello, World!");
}

更多详情,请参阅 文档.

用法

将此内容添加到您的 Cargo.toml

[dependencies]
critical-once-cell = "0.1.0"

许可证

MPL-2.0

依赖项

~43KB