Canales sin límites
Se obtiene un canal asíncrono y sin límites con mpsc::channel():
use std::sync::mpsc;
use std::thread;
use std::time::Duration;
fn main() {
let (tx, rx) = mpsc::channel();
thread::spawn(move || {
let thread_id = thread::current().id();
for i in 1..10 {
tx.send(format!("Mensaje {i}")).unwrap();
println!("{thread_id:?}: mensaje enviado {i}");
}
println!("{thread_id:?}: completado");
});
thread::sleep(Duration::from_millis(100));
for msg in rx.iter() {
println!("Principal: ha recibido {msg}");
}
}