npnc

crates.io docs.rs Travis CI

Lock-free queues.

Supported on the stable, beta, and nightly Rust channels.

Released under the Apache License 2.0.

Features

Examples

Bounded SPSC

```rust 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();

} ```