linux-next的rust-next分支被合并了
Flume 一个安全快速的多生产者多消费者通道实现
简单示例:
use std::thread;
fn main() {
println!("Hello, world!");
let (tx, rx) = flume::unbounded();
thread::spawn(move || {
(0..10).for_each(|i| {
tx.send(i).unwrap();
})
});
let received: u32 = rx.iter().sum();
assert_eq!((0..10).sum::<u32>(), received);
}
为什么选择 Flume?
功能丰富: Unbounded, bounded 和 rendezvous 队列
快速: 通常比
std::sync::mpsc
更快,某些情况比crossbeam-channel
更快安全: 代码库中没有使用任何的
unsafe
!灵活: