Expand description
extern crate closures;
use std::thread;
use std::sync::mpsc;
use closures::Closure;
struct State {
id: i32,
messages: Vec<&'static str>,
tx: mpsc::Sender<(i32, &'static str)>,
}
fn main() {
let (tx, rx) = mpsc::channel();
let state = State {
id: 0,
messages: vec!["hello", "rusty", "world"],
tx: tx.clone(),
};
thread::spawn(Closure::new(state, thread));
let state = State {
id: 1,
messages: vec!["veni", "vidi", "vici"],
tx: tx,
};
thread::spawn(Closure::new(state, thread));
for (id, msg) in rx {
println!("Thread {} sent: {}", id, msg);
}
}
fn thread(this: &State) {
for msg in &this.messages {
this.tx.send((this.id, msg)).unwrap();
}
}
Structsยง
- Closure
- Closure1
- Closure2
- Closure3
- Closure4
- Closure5
- Closure6
- Closure7
- Closure8
- Closure9
- Closure10
- Closure
Mut - Closure
Mut1 - Closure
Mut2 - Closure
Mut3 - Closure
Mut4 - Closure
Mut5 - Closure
Mut6 - Closure
Mut7 - Closure
Mut8 - Closure
Mut9 - Closure
Mut10 - Closure
Once - Closure
Once1 - Closure
Once2 - Closure
Once3 - Closure
Once4 - Closure
Once5 - Closure
Once6 - Closure
Once7 - Closure
Once8 - Closure
Once9 - Closure
Once10 - RecClosure
- RecClosure1
- RecClosure2
- RecClosure3
- RecClosure4
- RecClosure5
- RecClosure6
- RecClosure7
- RecClosure8
- RecClosure9
- RecClosure10
- RecClosure
Mut - RecClosure
Mut1 - RecClosure
Mut2 - RecClosure
Mut3 - RecClosure
Mut4 - RecClosure
Mut5 - RecClosure
Mut6 - RecClosure
Mut7 - RecClosure
Mut8 - RecClosure
Mut9 - RecClosure
Mut10 - RecClosure
Once - RecClosure
Once1 - RecClosure
Once2 - RecClosure
Once3 - RecClosure
Once4 - RecClosure
Once5 - RecClosure
Once6 - RecClosure
Once7 - RecClosure
Once8 - RecClosure
Once9 - RecClosure
Once10