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

use coco::deque;

let (w, s1) = 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'));