Transmissores e Receptores
Os channels (canais) em Rust tĂȘm duas partes: um Sender<T>
e um Receiver<T>
. As duas partes estĂŁo conectadas atravĂ©s do channel, mas vocĂȘ sĂł vĂȘ os end-points.
use std::sync::mpsc; fn main() { let (tx, rx) = mpsc::channel(); tx.send(10).unwrap(); tx.send(20).unwrap(); println!("Recebido: {:?}", rx.recv()); println!("Recebido: {:?}", rx.recv()); let tx2 = tx.clone(); tx2.send(30).unwrap(); println!("Recebido: {:?}", rx.recv()); }
This slide should take about 9 minutes.
mpsc
significa Multi-Produtor, Ănico-Consumidor.Sender
eSyncSender
implementamClone
(entĂŁo vocĂȘ pode criar vĂĄrios produtores), masReceiver
(consumidores) nĂŁo.send()
erecv()
retornamResult
. Se retornaremErr
, significa que a contraparteSender
ouReceiver
Ă© descartada e o canal Ă© fechado.