ι€šι“

Rust ι€šι“εˆ†η‚Ίε…©ε€‹ιƒ¨εˆ†οΌšSender<T> ε’Œ Receiver<T>γ€‚ι€™ε…©ε€‹ιƒ¨εˆ† ι€ιŽι€šι“η›Έι€£οΌŒδ½†δ½ εͺθƒ½ηœ‹εˆ°η«―ι»žγ€‚

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());
}
  • mpsc δ»£θ‘¨ε€šι‡η”Ÿη”’θ€…γ€ε”―δΈ€ζΆˆθ²»θ€…γ€‚Sender ε’Œ SyncSender ζœƒε―¦δ½œ Clone (η”¨ζ–Όθ£½δ½œε€šι‡η”Ÿη”’θ€…)οΌŒδ½† Receiver δΈζœƒγ€‚
  • send() ε’Œ recv() ζœƒε‚³ε›ž Resultγ€‚ε¦‚ζžœε‚³ε›žηš„ζ˜― ErrοΌŒθ‘¨η€Ίε°ζ‡‰ηš„ Sender ζˆ– Receiver ε·²ι‡‹ζ”ΎοΌŒδΈ”ι€šι“ε·²ι—œι–‰γ€‚