awesome-repositories.com
ब्लॉग
awesome-repositories.com

AI-संचालित खोज के साथ बेहतरीन ओपन-सोर्स रिपॉजिटरी खोजें।

एक्सप्लोर करेंक्यूरेटेड खोजेंओपन-सोर्स विकल्पसेल्फ-होस्टेड सॉफ्टवेयरब्लॉगसाइटमैप
प्रोजेक्टहमारे बारे मेंहम रैंकिंग कैसे करते हैंप्रेसMCP सर्वर
कानूनीगोपनीयताशर्तें
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cameron314 avatar

cameron314/readerwriterqueue

0
View on GitHub↗
4,576 स्टार्स·731 फोर्क्स·C++·3 व्यूज़

Readerwriterqueue

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 non-blocking dequeue operations to manage how consuming threads wait for new data.

Features

  • Single-Producer Single-Consumer Queues - Implements a specialized single-producer single-consumer model to eliminate contention and minimize synchronization overhead.
  • Lock-Free Thread Communication - Provides high-performance primitives for transferring data between threads without the overhead of mutex locking.
  • Thread-Safe Communication Channels - Offers a high-performance C++ data structure for safe information passing between concurrent threads.
  • Circular Memory Buffers - Uses a ring-based memory layout to efficiently reuse space for data exchange between threads.
  • Contiguous Memory Buffers - Allocates elements in flat, contiguous memory blocks to optimize cache locality and reduce latency.
  • Lock-Free - Employs atomic primitives and memory barriers to ensure thread-safe data exchange without mutex locks.
  • Buffer Capacity Growth - Supports dynamic allocation of larger contiguous blocks when the queue reaches capacity to prevent data loss.
  • Wait-Free Synchronization - Manages head and tail indices using atomic integers to guarantee progress for both producer and consumer.
  • Dynamic Buffer Management - Manages queue elements by combining upfront memory reservation with dynamic capacity expansion.
  • Low Latency Messaging - Minimizes message delivery delay between threads by avoiding traditional mutex synchronization.
  • Inter-Thread Buffer Management - Handles data streams between threads using a contiguous memory buffer that grows as demand increases.
  • Blocking Synchronization - Implements mechanisms to suspend consumer threads until the producer adds new data to the queue.
  • Concurrency and Parallelism - Fast single-producer single-consumer lock-free queue.

स्टार हिस्ट्री

cameron314/readerwriterqueue के लिए स्टार हिस्ट्री चार्टcameron314/readerwriterqueue के लिए स्टार हिस्ट्री चार्ट

AI सर्च

और अधिक बेहतरीन रिपॉजिटरी खोजें

अपनी ज़रूरत को सरल भाषा में बताएं — AI हजारों क्यूरेटेड ओपन-सोर्स प्रोजेक्ट्स को प्रासंगिकता के आधार पर रैंक करता है।

Start searching with AI

Readerwriterqueue के ओपन-सोर्स विकल्प

समान ओपन-सोर्स प्रोजेक्ट्स, जो Readerwriterqueue के साथ साझा की गई सुविधाओं के आधार पर रैंक किए गए हैं।
  • cameron314/concurrentqueuecameron314 का अवतार

    cameron314/concurrentqueue

    12,070GitHub पर देखें↗

    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 library distinguishes itself through a design that minimizes contention and synchronization overhead. It utilizes sub-queue token mapping to distribute workloads across partitioned internal queues and supports bulk operations to transfer multiple data elements in singl

    C++
    GitHub पर देखें↗12,070
  • workiva/go-datastructuresWorkiva का अवतार

    Workiva/go-datastructures

    7,901GitHub पर देखें↗

    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

    Go
    GitHub पर देखें↗7,901
  • ruby-concurrency/concurrent-rubyruby-concurrency का अवतार

    ruby-concurrency/concurrent-ruby

    5,830GitHub पर देखें↗

    Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th

    Ruby
    GitHub पर देखें↗5,830
  • jctools/jctoolsJCTools का अवतार

    JCTools/JCTools

    3,851GitHub पर देखें↗

    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

    Javaawesomebenchmarksconcurrency
    GitHub पर देखें↗3,851
Readerwriterqueue के सभी 30 विकल्प देखें→

अक्सर पूछे जाने वाले प्रश्न

cameron314/readerwriterqueue क्या करता है?

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.

cameron314/readerwriterqueue की मुख्य विशेषताएं क्या हैं?

cameron314/readerwriterqueue की मुख्य विशेषताएं हैं: Single-Producer Single-Consumer Queues, Lock-Free Thread Communication, Thread-Safe Communication Channels, Circular Memory Buffers, Contiguous Memory Buffers, Lock-Free, Buffer Capacity Growth, Wait-Free Synchronization।

cameron314/readerwriterqueue के कुछ ओपन-सोर्स विकल्प क्या हैं?

cameron314/readerwriterqueue के ओपन-सोर्स विकल्पों में शामिल हैं: cameron314/concurrentqueue — ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer… workiva/go-datastructures — go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance… ruby-concurrency/concurrent-ruby — Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data… jctools/jctools — JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as… coocood/freecache — freecache is a high-performance, concurrent in-memory key-value store library for Go applications. It functions as a… dpilger26/numcpp — NumCpp is a C++ framework and numerical computing library that provides a toolkit for multi-dimensional array…