#互斥量 # #锁定 #自旋 #时间 #无标准库

无标准库 mtxgroup

互斥量组同时锁定所有互斥量

1 个不稳定版本

0.1.1 2023年11月24日
0.1.0 2023年11月24日

#998并发

MIT 许可证

6KB
124

穆特克斯 GROUP

简介

MuTeX GROUP 可以同时锁定所有互斥量。

示例

static MUTEX_0: Mutex<usize> = Mutex::new(0);
static MUTEX_1: Mutex<usize> = Mutex::new(1);
static MUTEX_2: Mutex<usize> = Mutex::new(2);

let mutexes = vec![&MUTEX_0, &MUTEX_1, &MUTEX_2];
let mtxgroup = MutexGroup::new(mutexes.into_iter());
let guard = mtxgroup.lock(); // Locks all mutexes at the same time

for mutex in guard.iter() {
    // Do something with the mutexes
}

for mut mutex in guard.into_iter() { // `into_iter` consumes the guard
    // Do something with the mutexes
}

特性

  • 兼容 no_std
    • 需要 spin

许可证

根据 MIT 许可证 许可

依赖项

~150KB