This is a implementation of multi-producer, multi-consumer channel
in Rust.
```rust use std::thread;
extern crate sharedchannel; use sharedchannel::shared_channel;
fn main() { let (tx, rx) = shared_channel(); for i in 0..10 { let rx = rx.clone(); thread::spawn(move || println!("{}", rx.recv().unwrap())); } for i in 0..10 { tx.send(i).unwrap(); } } ```
sh
git clone https://github.com/hinohi/rust_shared_channel.git
cd rust_shared_channel
cargo run --example hello_server
Please access http://localhost:5000
.
Its response looks like Hello! I'm No.0
.
The number shows ID of thread-pool's worker.
Reciver
's stable API
try_recv
recv
recv_timeout
iter
try_iter
shared_sync_channel