1 //! Thread synchronization primitives.
2 //!
3 //! * [`Parker`], a thread parking primitive.
4 //! * [`ShardedLock`], a sharded reader-writer lock with fast concurrent reads.
5 //! * [`WaitGroup`], for synchronizing the beginning or end of some computation.
6 
7 mod parker;
8 #[cfg(not(crossbeam_loom))]
9 mod sharded_lock;
10 mod wait_group;
11 
12 pub use self::parker::{Parker, Unparker};
13 #[cfg(not(crossbeam_loom))]
14 pub use self::sharded_lock::{ShardedLock, ShardedLockReadGuard, ShardedLockWriteGuard};
15 pub use self::wait_group::WaitGroup;
16