5个版本
0.4.0 | 2022年3月23日 |
---|---|
0.3.3 | 2022年3月22日 |
0.3.2 | 2022年3月17日 |
0.3.1 | 2022年3月17日 |
0.3.0 | 2022年3月17日 |
#405 in 操作系统
3,592 每月下载量
用于 4 个crate(3直接使用)
7KB
78 行
由 Tabnine 用 ❤️ 开发
Proc-lock
一个简单的跨进程锁定API。
快速开始
安装
在你的 Cargo.toml
文件中,添加
[dependencies]
proc-lock = "*"
直接使用API
use proc_lock::{lock, LockPath};
fn main() {
let lock_path = LockPath::Tmp("my_lock.lock");
let guard = lock(&lock_path).unwrap();
// Until `guard` is dropped, this code section is atomic across multiple processes.
// ...
drop(guard);
}
使用宏
use proc_lock::proclock;
fn main() {
// A lock will be acquired at the beginning of this function, and will be released at the end.
a_sensitive_function();
}
#[proc_lock(name = "my_lock.lock")]
fn a_sensitive_function() {}
当前状态
⚠️此crate处于早期阶段,预计未来版本会有破坏性更改。
更新日志
- 0.4.0 - 将依赖关系更改为本地以改善开发过程
- 0.3.3 - 文档的小改动
- 0.3.2 - 修复宏编译问题
- 0.3.1 - 更改文档
- 0.3.0 - [破坏性更改] 将crate重命名为
proc-lock
,并将宏重命名为proc_lock
- 0.2.1 - 添加有关crate重命名的说明
- 0.2.0 - [破坏性更改] 停止支持非阻塞宏API
贡献
请参阅我们的项目 our project,以及开放的问题。
也请随意讨论和提出PR :)
依赖关系
~2MB
~44K SLoC