1个不稳定版本

使用旧的Rust 2015

0.3.0 2019年8月16日
0.2.3 2019年8月15日
0.2.2 2017年6月26日
0.2.1 2016年5月7日
0.1.0 2015年10月7日

#237 in 并发

Download history 1981/week @ 2024-03-14 1860/week @ 2024-03-21 1713/week @ 2024-03-28 1691/week @ 2024-04-04 1696/week @ 2024-04-11 1284/week @ 2024-04-18 1635/week @ 2024-04-25 1818/week @ 2024-05-02 1801/week @ 2024-05-09 1259/week @ 2024-05-16 1893/week @ 2024-05-23 1770/week @ 2024-05-30 1320/week @ 2024-06-06 1734/week @ 2024-06-13 1836/week @ 2024-06-20 1554/week @ 2024-06-27

6,836 个月下载量
39 个crate中 使用 (23 直接)

MIT/Apache

17KB
390

spmc

Build Status

Rust的单生产者、多消费者通道。

文档

许可

许可以下任一

任选其一。

贡献

除非你明确声明,否则任何有意提交给作品以包含在内的贡献,如Apache-2.0许可证中定义的,应作为上述双许可,没有任何附加条款或条件。


lib.rs:

SPMC

单生产者、多消费者。通常用于实现工作窃取。

示例

let (mut tx, rx) = spmc::channel();

let mut handles = Vec::new();
for n in 0..5 {
    let rx = rx.clone();
    handles.push(thread::spawn(move || {
        let msg = rx.recv().unwrap();
        println!("worker {} recvd: {}", n, msg);
    }));
}

for i in 0..5 {
    tx.send(i * 2).unwrap();
}

for handle in handles {
  handle.join().unwrap();
}

无运行时依赖