2 个版本
0.1.2 | 2022 年 9 月 20 日 |
---|---|
0.1.1 | 2022 年 9 月 20 日 |
#1027 在 并发
1,109 每月下载量
8KB
129 行
锁层次结构
这个 Rust 包提供了对锁层次结构违规的调试断言。发布构建不会产生运行时开销或保护。
用法
use lock_hierarchy::Mutex;
let mutex_a = Mutex::new(()); // Level 0
let mutex_b = Mutex::with_level((), 0); // also level 0
// Fine, first mutex in thread
let _guard_a = mutex_a.lock().unwrap();
// Must panic, lock hierarchy violation
let _guard_b = mutex_b.lock().unwrap();
use lock_hierarchy::Mutex;
let mutex_a = Mutex::with_level((), 1); // Level 1
let mutex_b = Mutex::new(()); // level 0
// Fine, first mutex in thread
let _guard_a = mutex_a.lock().unwrap();
// Fine: 0 is lower level than 1
let _guard_b = mutex_b.lock().unwrap();
lib.rs
:
此包提供对锁层次结构违规的调试断言。发布构建不会产生运行时开销或保护。