1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年4月24日 |
---|
#8 in #multi-process
15KB
307 代码行数(不包括注释)
这是为 Rust 实现的进程锁的多进程实现
使用方法
将此添加到您的 Cargo.toml
[dependencies]
process_lock = "0.1"
并将其添加到您的 crate 根目录
extern crate process_lock;
如何使用
extern crate process_lock;
use std::time::{Duration, Instant};
use process_lock::*;
fn main () {
let mut lock = ProcessLock::new(String::from(".process_lock"), None).unwrap();
for i in 0..100 {
let now = Instant::now();
{
let _guard = lock.lock().unwrap();
println!("success get the {} lock lock all use time ===== {}", i, now.elapsed().as_secs());
let ten_millis = ::std::time::Duration::from_millis(2000);
::std::thread::sleep(ten_millis);
}
let ten_millis = ::std::time::Duration::from_millis(100);
::std::thread::sleep(ten_millis);
}
}
每个进程将在其他进程释放锁后获取锁
许可证
许可协议为以下之一
- Apache 许可协议第 2 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,如 Apache-2.0 许可协议中定义的,应按上述方式双许可,无需任何附加条款或条件。
依赖项
~1–270KB