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