Senders and Receivers
Rust channels have two parts: a Sender<T> and a Receiver<T>. The two parts
are connected via the channel, but you only see the end-points.
use std::sync::mpsc; fn main() { let (tx, rx) = mpsc::channel(); tx.send(10).unwrap(); tx.send(20).unwrap(); println!("Received: {:?}", rx.recv()); println!("Received: {:?}", rx.recv()); let tx2 = tx.clone(); tx2.send(30).unwrap(); println!("Received: {:?}", rx.recv()); }
This slide should take about 9 minutes. 
                    - mpscstands for Multi-Producer, Single-Consumer.- Senderand- SyncSenderimplement- Clone(so you can make multiple producers) but- Receiverdoes not.
- send()and- recv()return- Result. If they return- Err, it means the counterpart- Senderor- Receiveris dropped and the channel is closed.