awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cameron314 avatar

cameron314/readerwriterqueue

0
View on GitHub↗
4,576 نجوم·731 تفرعات·C++·2 مشاهدات

Readerwriterqueue

هذا المشروع عبارة عن طابور متزامن (concurrent queue) أحادي المنتج وأحادي المستهلك لـ C++ مصمم لتبادل البيانات بدون أقفال (lock-free) بين الخيوط (threads). يوفر آلية آمنة للخيوط لنقل البيانات دون استخدام كائنات المزامنة (mutexes) أو الأقفال.

تم تنفيذ الطابور كمخزن مؤقت دائري متصل يدعم نمو السعة الديناميكي لمنع فقدان البيانات عند وصول الطابور إلى حده الأقصى. يستخدم المزامنة الذرية وإدارة الفهرس بدون انتظار (wait-free) لتنسيق الوصول إلى البيانات بين خيوط الكتابة والقراءة.

تغطي المكتبة الاتصال بين الخيوط وإدارة المخزن المؤقت، وتوفر عمليات إخراج (dequeue) حاصرة وغير حاصرة لإدارة كيفية انتظار الخيوط المستهلكة للبيانات الجديدة.

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

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Readerwriterqueue

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Readerwriterqueue.
  • cameron314/concurrentqueueالصورة الرمزية لـ cameron314

    cameron314/concurrentqueue

    12,070عرض على GitHub↗

    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-datastructuresالصورة الرمزية لـ Workiva

    Workiva/go-datastructures

    7,901عرض على GitHub↗

    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-rubyالصورة الرمزية لـ ruby-concurrency

    ruby-concurrency/concurrent-ruby

    5,830عرض على GitHub↗

    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/jctoolsالصورة الرمزية لـ JCTools

    JCTools/JCTools

    3,851عرض على GitHub↗

    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
عرض جميع البدائل الـ 30 لـ Readerwriterqueue→

الأسئلة الشائعة

ما هي وظيفة cameron314/readerwriterqueue؟

هذا المشروع عبارة عن طابور متزامن (concurrent queue) أحادي المنتج وأحادي المستهلك لـ C++ مصمم لتبادل البيانات بدون أقفال (lock-free) بين الخيوط (threads). يوفر آلية آمنة للخيوط لنقل البيانات دون استخدام كائنات المزامنة (mutexes) أو الأقفال.

ما هي الميزات الرئيسية لـ 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…