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
中的调用位置,允许开发者将文件中第一次加锁的位置与引发恐慌的加锁位置进行比较,有助于调试。