async-sema 0.1.4

Async semaphore library
Documentation

async-sema-rs

version status

Async semaphore library

Manual

Install: Run cargo add async-sema in the project directory

example

use async_sema::Semaphore;

let s = Semaphore::new(2);

// async acquire
s.acquire().await;
s.batch_acquire(1).await;



// instant acquire
let a = s.try_acquire().unwrap();

assert!(s.try_acquire().is_none());
s.add_permits(1);
assert!(s.try_acquire().is_some());