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 #[cfg(not(crossbeam_loom))]
8 mod once_lock;
9 mod parker;
10 #[cfg(not(crossbeam_loom))]
11 mod sharded_lock;
12 mod wait_group;
13 
14 pub use self::parker::{Parker, Unparker};
15 #[cfg(not(crossbeam_loom))]
16 pub use self::sharded_lock::{ShardedLock, ShardedLockReadGuard, ShardedLockWriteGuard};
17 pub use self::wait_group::WaitGroup;
18