Struct rs_lockfree::lockfree_queue::LockFreeQueue[][src]

pub struct LockFreeQueue<T> { /* fields omitted */ }

LockFree queue, implemented based on HazardEpoch

Examples

use rs_lockfree::lockfree_queue::LockFreeQueue;
let mut queue = unsafe { LockFreeQueue::default_new_in_stack() };
assert!(queue.pop().is_none());
queue.push(1);
assert_eq!(queue.pop().unwrap(), 1);
let test_num = 100;
for i in 0..test_num {
    queue.push(i);
}
for i in 0..test_num {
    assert_eq!(queue.pop().unwrap(), i);
}

Methods

impl<T> LockFreeQueue<T>
[src]

Return LockFreeQueue in stack with default setting of HazardEpoch

Return LockFreeQueue in heap with default setting of HazardEpoch

Push an element to the end of current queue

Pop the element at the head of current queue

Trait Implementations

impl<T> Drop for LockFreeQueue<T>
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl<T> !Send for LockFreeQueue<T>

impl<T> !Sync for LockFreeQueue<T>