2.5 `旋转`
05-
旋转 — Comprehensive Rust1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/bare-metal/useful-crates/spin.html
2.5 旋转
std::sync::Mutex 和 std::sync 中的其他同步原语是
在“core”或“alloc”中不可用。我们如何管理同步或
内部可变性,例如在不同 CPU 之间共享状态?
spin 箱提供了其中许多基于自旋锁的等价物
基元。
| |
- 如果在中断处理程序中锁定,请小心避免死锁。
spin也有票锁互斥体实现;相当于“RwLock”, 来自“std::sync”的“Barrier”和“Once”;和“Lazy”用于延迟初始化。once_cell板条箱还具有一些用于后期初始化的有用类型 与spin::once::Once的方法略有不同。- Rust Playground 包含
spin,因此这个示例可以很好地内联运行。