use std::sync::mpsc;
use std::thread;
use std::time::Duration;
fn main() {
let (sender, receiver) = mpsc::channel();
thread::spawn(move || {
for i in 1..10 {
sender.send(i).unwrap();
thread::sleep(Duration::from_millis(1000));
}
});
for result in receiver {
println!("{}", result);
}
println!("收到了所有消息");
}
use std::sync::mpsc;
use std::thread;
fn main() {
let (sender, receiver) = mpsc::channel();
for i in 0..5 {
let sender_clone = sender.clone();
thread::spawn(move || {
sender_clone.send(
format!("来自{i}, id: {:?}", thread::current().id())
).unwrap();
});
}
// 释放原始发送端 否则函数无法退出
drop(sender);
for result in receiver {
println!("{}", result);
}
}