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 | |