#static #mutex #const #rwlock #const-fn #reentrant

static_locks

parking_lot 锁,但可用于静态和 const fn 中

1 个不稳定版本

0.1.0 2019 年 12 月 10 日

#1063并发 中排名

每月 下载 22

Apache-2.0/MIT

115KB
2.5K SLoC

static_locks

parking_lot 锁进行了修改,使其可以在稳定 Rust 的静态中使用。

阻止这种情况的唯一因素是 API 在 lock_api 中以泛型方式实现,而 const 特征约束尚不支持。这个 crate 所做的一切就是手动单态化(展开)泛型实现,允许 Mutex::newRwLock::newReentrantMutex::new 等,在静态中使用。

它基本上存在是为了你不必在不应使用 lazy_static 或 OnceCell 的情况下使用。

注意事项

  1. 不能使用来自正常 parking_lotMutexGuardCondvar
  2. 一些功能已被重命名,例如 serde => serde_support,以符合 cargos 规则关于不使用具有相同名称的功能 && dep。
  3. 除了锁之外,不包含来自 parking_lot 的其他内容,尽管我们重新导出了 parking lot crate,例如 static_locks::parking_lot::{...} 可用。

许可证

parking_lot 相同,包括版权归属。稳定锁的作者声称对 parking_lot 代码的更改没有额外的版权主张 —— 这些是微不足道的。

依赖关系

~0.5–1.8MB
~32K SLoC