How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.
ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer multi-consumer thread communication. It functions as a synchronization primitive designed to coordinate data flow between concurrent execution units using atomic operations rather than traditional mutex locking.
The main features of cameron314/concurrentqueue are: Concurrent Queues, Lock-Free Concurrent Queues, Thread-Safe Communication Channels, Synchronization Primitives, Atomic State Synchronization, Producer-Consumer Workflow Managers, Partitioned, Lock-Free Thread Communication.
Projects with overlapping indexed features include: jctools/jctools — JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as… cameron314/readerwriterqueue — This project is a single-producer single-consumer concurrent queue for C++ designed for lock-free data exchange… workiva/go-datastructures — go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance… rigtorp/mpmcqueue — A bounded multi-producer multi-consumer concurrent queue written in C++11. facebook/folly — Folly is a collection of high-performance C++ components designed as an extension to the C++ Standard Library for… lmax-exchange/disruptor — The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent…
JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as a toolkit for managing thread-safe data exchange, specifically designed to optimize high-throughput messaging and producer-consumer patterns in multi-threaded applications. The library distinguishes itself by implementing specialized queue structures that minimize contention and maximize throughput. By utilizing techniques such as cache-line padding, memory-barrier-based synchronization, and relaxed-consistency memory ordering, it avoids the performance bottlenecks often assoc
This project is a single-producer single-consumer concurrent queue for C++ designed for lock-free data exchange between threads. It provides a thread-safe mechanism to transfer data without the use of mutexes or locks. The queue is implemented as a contiguous circular buffer that supports dynamic capacity growth to prevent data loss when the queue reaches its limit. It utilizes atomic synchronization and wait-free index management to coordinate data access between the writing and reading threads. The library covers inter-thread communication and buffer management, offering both blocking and
go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion
A bounded multi-producer multi-consumer concurrent queue written in C++11