#初始化 #同步原语 #惰性求值 #多线程 #一次性 #无std

无std conquer-once

惰性和一次性初始化的同步原语

9 个版本

0.4.0 2023年4月8日
0.3.2 2021年1月4日
0.3.1 2020年11月24日
0.2.1 2020年7月10日
0.1.2 2019年8月20日

#466并发 中排名

Download history 6245/week @ 2024-03-16 5509/week @ 2024-03-23 7200/week @ 2024-03-30 5790/week @ 2024-04-06 4817/week @ 2024-04-13 6369/week @ 2024-04-20 5328/week @ 2024-04-27 5469/week @ 2024-05-04 6241/week @ 2024-05-11 4335/week @ 2024-05-18 5117/week @ 2024-05-25 4548/week @ 2024-06-01 6030/week @ 2024-06-08 7174/week @ 2024-06-15 5461/week @ 2024-06-22 4209/week @ 2024-06-29

23,870 每月下载量
16 个 Crates 中使用 (直接使用 11 个)

MIT/Apache 协议

64KB
921 行代码(不含注释)

conquer-once

使用低级阻塞机制实现惰性和一次性初始化的同步原语,具有清晰的阻塞和非阻塞方法区分,并在使用自旋锁时为无 std 环境提供额外支持。

Build Status Latest version Documentation License Rust 1.36+

使用方法

要使用此库,请将以下内容添加到您的 Cargo.toml

[dependencies]
conquer-once = "0.4.0"

最低支持的 Rust 版本 (MSRV)

此库最低支持的 Rust 版本是 1.49.0。

Cargo 特性

默认情况下,conquer-once 启用了 std 特性。启用此特性后,库将导出使用操作系统和标准库依赖的阻塞机制的 LazyOnceOnceCell 类型。不启用此特性时,库与 #[no_std] 环境兼容,但仅导出库的 spin 子模块中的类型,这些类型使用自旋锁。

可以通过以下方式指定依赖项来禁用此特性

[dependencies.conquer-once]
version = "0.4.0"
use-default-features = false

许可证

conquer-once 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MIT

依赖项

~37KB