#locking #api #cross-process #macro

proclock

简单的跨进程锁定 API

6 个版本

0.2.2 2022 年 3 月 17 日
0.2.1 2022 年 3 月 17 日
0.1.2 2022 年 3 月 16 日

#4 in #cross-process

MIT 许可证

9KB
106

Tabnine 热爱地开发


请注意:此crate已被重命名

它曾经是 proclock,但现在已被重命名为 proc-lock

请更新您的依赖项以接收较新版本。


Proclock

简单的跨进程锁定 API。

快速入门

安装

在您的 Cargo.toml 文件中,添加

[dependencies]
proclock = "*"

直接使用 API

use proclock::{lock, LockPath};

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 proclock::proclock;

fn main() {
 // A lock will be acquired at the beginning of this function, and will be released at the end.
 a_sensitive_function();
}

#[proclock(name = "my_lock.lock")]
fn a_sensitive_function() {}

当前状态

⚠️此crate处于早期阶段,预计在未来的版本中会有破坏性更改。

变更列表

  • 0.2.1 - 添加关于crate重命名的通知
  • 0.2.0 - [破坏性更改] 停止支持非阻塞宏 API

依赖项

~2MB
~44K SLoC