1 unstable release
| 0.1.1 | Nov 24, 2023 |
|---|---|
| 0.1.0 |
|
#13 in #spin
6KB
124 lines
MuTeX GROUP
Introduction
MuTeX GROUP can be used to lock all mutexes at the same time.
Example
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
}
Features
- Compliable with
no_std- requires
spincrate
- requires
License
Licensed under MIT license
Dependencies
~155KB