7 个版本 (破坏性更新)
| 0.6.0 | 2023 年 7 月 8 日 |
|---|---|
| 0.5.1 | 2023 年 7 月 5 日 |
| 0.4.0 | 2023 年 7 月 2 日 |
| 0.3.0 | 2023 年 7 月 2 日 |
| 0.1.0 | 2023 年 6 月 24 日 |
在 并发 中排名 1138
每月下载 41 次
29KB
403 行
lock_cell
此 crate 提供 LockCell<T> 和其他支持类型。
LockCell 是一种单元格类型,它通过内部可变性提供动态修改。它与 RefCell<T> 类似,但只允许单个借用类型(一个锁)。锁定 LockCell 允许自由修改其内容。
LockCell 只能在单线程上下文中使用 - 它不能在不同线程之间共享。通常,LockCell 将存储在 Rc<T> 中,以便可以共享。
您是否使用 LockCell 或 RefCell 取决于您程序的结构和行为。通常,如果您有很多写入器和读取器,使用 LockCell 可能更好,因为它确保写入器不太可能被饿死。
LockCell 的 Sync 等价物是 Mutex<T>。
功能
-
enable_std功能启用标准库。这为TryLockError类型提供了std::error::Error的实现。此功能默认启用。 -
debug_lockcell功能跟踪lock()在LockCell中的调用位置,允许开发者将文件中第一次加锁的位置与引发恐慌的加锁位置进行比较,有助于调试。