1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
//! A collection of synchronization primitives that build on the primitives available in the //! standard library. //! //! This library contains the following special-purpose synchronization primitives: //! //! * [`CountdownEvent`], a primitive that keeps a counter and allows a thread to wait until the //! counter reaches zero. //! * [`SignalEvent`], a primitive that allows one or more threads to wait on a signal from another //! thread. //! * [`WriterReaderPhaser`], a primitive that allows multiple wait-free "writer critical sections" //! against a "reader phase flip" that waits for currently-active writers to finish. //! //! [`CountdownEvent`]: struct.CountdownEvent.html //! [`SignalEvent`]: struct.SignalEvent.html //! [`WriterReaderPhaser`]: struct.WriterReaderPhaser.html #![deny(warnings, missing_docs)] // Name source: http://bulbapedia.bulbagarden.net/wiki/Synchronoise_(move) extern crate crossbeam_queue; pub mod event; pub mod phaser; pub use event::{CountdownEvent, SignalEvent}; pub use phaser::WriterReaderPhaser;