Skip to content

mmcshane/lockfree-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lockfree-cpp

Some lock-free datastructures and tools in C++ that do not require C++11.

Included are

  • A lock-free exchanger based on the JDK's java.util.concurrent.Exchanger
  • An atomic tagged pointer type based on the JDK's java.util.concurrent.atomic.AtomicReference
  • An intrusive lock-free stack (LIFO) that uses operation elimination as described in A scalable lock-free stack algorithm
  • An intrusive lock-free MPSC queue (FIFO) cribbed directly from the work of Dmitry Vyukov

The datastructures themselves are header-only; you'll need pthreads and the STL to compile the unit tests.

Thanks to Phil Nash for his Catch unit test framework.

About

Some lockfree datastructures in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published