1个不稳定版本
使用旧的Rust 2015
0.3.0 | 2019年8月16日 |
---|---|
0.2.3 |
|
0.2.2 |
|
0.2.1 |
|
0.1.0 |
|
#237 in 并发
6,836 个月下载量
在 39 个crate中 使用 (23 直接)
17KB
390 行
spmc
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();
}