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