Function coco::deque::new [] [src]

pub fn new<T>() -> (Worker<T>, Stealer<T>)

Returns a new work-stealing deque.

The worker is unique, while stealers can be cloned and distributed among multiple threads.

The deque will be destructed as soon as it's worker and all it's stealers get dropped.

Examples

extern crate coco;

let (w, s1) = coco::deque::new();
let s2 = s1.clone();

w.push('a');
w.push('b');
w.push('c');

assert_eq!(w.pop(), Some('c'));
assert_eq!(s1.steal(), Some('a'));
assert_eq!(s2.steal(), Some('b'));