Skip to content

lucklove/concurrent-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lock free stack

A thread safe FILO structure.

Basic Usage:

use concurrent_stack::ConcurrentStack;
use std::sync::Arc;
use std::thread;

let stack = Arc::new(ConcurrentStack::new());
let pusher = stack.clone();
let producer = thread::spawn(move || {
    for i in 0..100 {
        pusher.push(i);
    }
});
let poper = stack.clone();
let consumer = thread::spawn(move || {
    for _ in 0..100 {
        if let Some(v) = poper.pop() {
            // Deal with v.
        }
    }   
});
producer.join();
consumer.join();

About

Lock free stack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages