This crate provides a few synchronization primitives:
Mutex
RwLock
Semaphore
SwapLock
Add this to your Cargo.toml:
Cargo.toml
[dependencies] no-std-async = "version"
where version is the latest crate version.
version
The various types in this crate provide specific usage examples.