shared_channel 0.2.0

Multi-producer, multi-consumer FIFO queue communication primitives.

shared channel

This is a implementation of multi-producer, multi-consumer channel in Rust.


simple usage

use std::thread;

extern crate shared_channel;
use shared_channel::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 {

Pre-forked web server

git clone
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.


  • implement Reciver's stable API
    • try_recv
    • recv
    • recv_timeout
    • iter
    • try_iter
  • implement shared_sync_channel