awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
JCTools avatar

JCTools/JCTools

0
View on GitHub↗
3,851 stars·591 forks·Java·Apache-2.0·17 viewsjctools.github.io/JCTools↗

JCTools

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 associated with standard library collections in high-concurrency environments.

These structures support low-latency system programming and multi-threaded application scaling by employing bounded-buffer array storage and wait-free algorithm designs. The implementation focuses on specialized thread-count scenarios, including single-writer-single-reader optimizations, to facilitate efficient data handoff between concurrent workers.

Features

  • Concurrency Libraries - Provides a Java concurrency library of lock-less and wait-free data structures for high-throughput messaging.
  • Lock-Free Concurrent Queues - Provides a collection of lock-less and wait-free concurrent queues for high-throughput messaging and producer-consumer patterns.
  • High-Performance Data Infrastructures - Provides specialized, memory-efficient queues that minimize contention and maximize throughput for low-latency systems.
  • High-Performance Messaging Infrastructures - Builds high-performance messaging infrastructure requiring low-latency data exchange between multiple threads.
  • Low-Latency Concurrency Patterns - Optimizes critical execution paths in performance-sensitive systems by minimizing thread contention and maximizing throughput.
  • Single-Writer-Single-Reader Optimizations - Specializes data structures for single-writer-single-reader scenarios to eliminate atomic operation overhead on the fast path.
  • Lock-Free Thread Communication - Implements wait-free algorithms to ensure thread progress without reliance on the execution speed of other threads.
  • Multi-threaded Execution - Improves parallel processing scalability by utilizing specialized queue implementations for efficient data handoff between concurrent workers.
  • Memory Barriers - Implements memory-barrier-based synchronization to enforce operation ordering without the overhead of traditional locks.
  • High Performance - Concurrency tools for high-performance applications.
  • High Performance Computing - Concurrency tools and data structures missing from the standard JDK.
  • Data Throughput Optimizers - Maximizes data transfer rates and reduces contention through specialized interfaces for batch operations and relaxed consistency.
  • Concurrency Primitives - Provides a toolkit of primitives for managing thread-safe data exchange without the overhead of traditional locking.
  • Cache-Aware Memory Access - Aligns data structures to CPU cache lines to prevent false sharing and performance degradation in concurrent environments.
  • Memory Consistency Models - Employs relaxed-consistency memory models to allow operation reordering for maximum throughput in concurrent systems.
  • Contiguous Memory Buffers - Provides pre-allocated contiguous memory buffers to minimize garbage collection pressure and improve data locality in high-frequency messaging.

Star history

Star history chart for jctools/jctoolsStar history chart for jctools/jctools

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.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with JCTools

These projects share indexed features with JCTools. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • cameron314/concurrentqueuecameron314 avatar

    cameron314/concurrentqueue

    12,070View on 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++
    View on GitHub↗12,070
  • lmax-exchange/disruptorLMAX-Exchange avatar

    LMAX-Exchange/disruptor

    18,375View on GitHub↗

    The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent ring buffer designed for high-concurrency and low-latency message sequencing. The project utilizes a specific messaging architecture to eliminate lock contention, enabling high-throughput event routing and the exchange of continuous event streams between threads. It ensures strict first-in-first-out ordering and immediate data visibility across processing threads. The library provides capabilities for lock-free data streaming, sequential data ordering, and sequence-based eve

    Javaconcurrencydisruptorjava
    View on GitHub↗18,375
  • microsoft/napajsMicrosoft avatar

    Microsoft/napajs

    9,180View on GitHub↗

    Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me

    C++
    View on GitHub↗9,180
  • cameron314/readerwriterqueuecameron314 avatar

    cameron314/readerwriterqueue

    4,576View on GitHub↗

    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

    C++
    View on GitHub↗4,576
Compare all 30 related projects→

Frequently asked questions

What does jctools/jctools do?

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.

What are the main features of jctools/jctools?

The main features of jctools/jctools are: Concurrency Libraries, Lock-Free Concurrent Queues, High-Performance Data Infrastructures, High-Performance Messaging Infrastructures, Low-Latency Concurrency Patterns, Single-Writer-Single-Reader Optimizations, Lock-Free Thread Communication, Multi-threaded Execution.

Which projects share features with jctools/jctools?

Projects with overlapping indexed features include: cameron314/concurrentqueue — ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer… lmax-exchange/disruptor — The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent… microsoft/napajs — Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other… light-city/cplusplusthings — CPlusPlusThings is an educational and technical resource collection featuring C++ coding exercises, a concurrency… cameron314/readerwriterqueue — This project is a single-producer single-consumer concurrent queue for C++ designed for lock-free data exchange… real-logic/agrona — High Performance data structures and utility methods for Java.