4 个版本
使用旧版 Rust 2015
0.2.1 | 2018年8月15日 |
---|---|
0.2.0 | 2017年4月14日 |
0.1.1 | 2017年3月25日 |
0.1.0 | 2017年3月25日 |
#651 in 并发
每月 25 下载
在 3 个 Crates 中使用
39KB
668 行
npnc
无锁队列。
支持稳定、beta 和夜间 Rust 通道。
在 Apache License 2.0 许可下发布。
特性
- 有限锁-free SPSC 队列
- 有限锁-free MPMC 队列
- 无界锁-free SPSC 队列
- 无界锁-free MPMC 队列
示例
有限 SPSC
extern crate npnc;
use std::thread;
use npnc::bounded::spsc;
fn main() {
let (producer, consumer) = spsc::channel(64);
// Producer
let b = thread::spawn(move || {
for index in 0..32 {
producer.produce(index).unwrap();
}
});
// Consumer
let a = thread::spawn(move || {
loop {
if let Ok(item) = consumer.consume() {
println!("{}", item);
if item == 31 {
break;
}
}
}
});
a.join().unwrap();
b.join().unwrap();
}
依赖
~9KB