Emisores y receptores
Los canales de Rust tienen dos partes: Sender<T> y Receiver<T>. Las dos partes están conectadas a través del canal, pero solo se ven los puntos finales.
use std::sync::mpsc;
fn main() {
let (tx, rx) = mpsc::channel();
tx.send(10).unwrap();
tx.send(20).unwrap();
println!("Recibido: {:?}", rx.recv());
println!("Recibido: {:?}", rx.recv());
let tx2 = tx.clone();
tx2.send(30).unwrap();
println!("Recibido: {:?}", rx.recv());
}
This slide should take about 9 minutes.
mpscson las siglas de Multi-Producer, Single-Consumer (multiproductor, consumidor único.)SenderySyncSenderimplementanClone(es decir, puedes crear varios productores), peroReceiverno.send()yrecv()devuelvenResult. Si devuelvenErr, significa que el homólogoSenderoReceiverse ha eliminado y el canal se ha cerrado.