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日

10#cross-process 中排名

Download history • Rust 包仓库 663/week @ 2024-03-13 • Rust 包仓库 1506/week @ 2024-03-20 • Rust 包仓库 777/week @ 2024-03-27 • Rust 包仓库 715/week @ 2024-04-03 • Rust 包仓库 1651/week @ 2024-04-10 • Rust 包仓库 589/week @ 2024-04-17 • Rust 包仓库 839/week @ 2024-04-24 • Rust 包仓库 708/week @ 2024-05-01 • Rust 包仓库 606/week @ 2024-05-08 • Rust 包仓库 483/week @ 2024-05-15 • Rust 包仓库 618/week @ 2024-05-22 • Rust 包仓库 928/week @ 2024-05-29 • Rust 包仓库 1026/week @ 2024-06-05 • Rust 包仓库 820/week @ 2024-06-12 • Rust 包仓库 971/week @ 2024-06-19 • Rust 包仓库 625/week @ 2024-06-26 • Rust 包仓库

每月下载量 3,604
5 个crate中使用(通过 proc-lock

MIT 许可证

8KB
119

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

贡献

请参阅 我们的项目 以及开放的问题。

也可以自由讨论并提交PR :)

依赖项

~2MB
~45K SLoC