Bi-directional channels for communicating between threads based on crossbeam-channel.
let (left, right) = unbounded::<bool, i32>();
thread::spawn(move || {
loop {
let val = right.recv().unwrap();
right.send(val % 2 == 0);
}
});
for i in 0..10 {
left.send(i);
if left.recv().unwrap() {
println!("{} is even", i);
}
}
[dependencies]
doublecross = "0.2"
Licensed under the terms of of the MPL-2.0.