3 releases
new 0.1.2 | Dec 8, 2024 |
---|---|
0.1.1 | Dec 8, 2024 |
0.1.0 | Oct 19, 2024 |
#333 in Concurrency
374 downloads per month
8KB
61 lines
A lightweight implementation of a Semaphore in Rust.
Getting Started
Installation
If you want to use this library for one of your projects, you can install it like any other Rust library
cargo add simple-semaphore
Example Usage
Here a basic example on how to use the crate:
use simple_semaphore;
use std::thread;
use std::{sync::Arc, time::Duration};
fn main() {
let semaphore = simple_semaphore::Semaphore::new(2);
for _ in 0..5 {
let semaphore = Arc::clone(&semaphore);
thread::spawn(move || {
let permit = semaphore.acquire();
thread::sleep(Duration::from_millis(500));
drop(permit);
});
}
thread::sleep(Duration::from_millis(3000));
}
License
This library was made with 💜 by Krypton and is under the MIT License.
Dependencies
~79KB