1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
//! Async synchronization primitives. //! //! This crate provides the following primitives: //! //! * [`Barrier`] - enables tasks to synchronize all together at the same time. //! * [`Mutex`] - a mutual exclusion lock. //! * [`RwLock`] - a reader-writer lock, allowing any number of readers or a single writer. //! * [`Semaphore`] - limits the number of concurrent operations. #![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)] mod barrier; mod mutex; mod rwlock; mod semaphore; pub use barrier::{Barrier, BarrierWaitResult}; pub use mutex::{Mutex, MutexGuard, MutexGuardArc}; pub use rwlock::{RwLock, RwLockReadGuard, RwLockUpgradableReadGuard, RwLockWriteGuard}; pub use semaphore::{Semaphore, SemaphoreGuard, SemaphoreGuardArc};