Struct crossbeam::sync::MsQueue
[−]
[src]
pub struct MsQueue<T> { /* fields omitted */ }
A Michael-Scott lock-free queue, with support for blocking pop
s.
Usable with any number of producers and consumers.
Methods
impl<T> MsQueue<T>
[src]
fn new() -> MsQueue<T>
Create a new, empty queue.
fn push(&self, t: T)
Add t
to the back of the queue, possibly waking up threads
blocked on pop
.
fn is_empty(&self) -> bool
Check if this queue is empty.
fn try_pop(&self) -> Option<T>
Attempt to dequeue from the front.
Returns None
if the queue is observed to be empty.
fn pop(&self) -> T
Dequeue an element from the front of the queue, blocking if the queue is empty.