# crossbeam-rs/crossbeam

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/crossbeam-rs-crossbeam).**

8,492 stars · 558 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/crossbeam-rs/crossbeam
- awesome-repositories: https://awesome-repositories.com/repository/crossbeam-rs-crossbeam.md

## Topics

`concurrency` `data-structures` `lock-free` `parallelism` `rust` `synchronization` `threads`

## Description

Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments.

The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks.

The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general concurrent programming in Rust. Its technical surface includes epoch-based reclamation, wait-free synchronization, and multi-producer single-consumer channels.

## Tags

### Operating Systems & Systems Programming

- [Rust Systems Programming](https://awesome-repositories.com/f/operating-systems-systems-programming/rust-systems-programming.md) — Provides a foundational toolkit for high-performance, memory-safe concurrent systems programming in Rust.
- [Work-Stealing Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/runtime-schedulers/work-stealing-schedulers.md) — Implements a work-stealing scheduler to dynamically balance tasks across hardware threads.
- [Lock-Free Atomic Containers](https://awesome-repositories.com/f/operating-systems-systems-programming/lock-free-atomic-containers.md) — Provides low-level lock-free atomic primitives to manage shared state without OS mutexes.
- [Memory Management Primitives](https://awesome-repositories.com/f/operating-systems-systems-programming/memory-management-primitives.md) — Ships primitives for safe memory reclamation and pointer handling in shared-memory environments.
- [Multi-Core Workload Distribution](https://awesome-repositories.com/f/operating-systems-systems-programming/multi-core-workload-distribution.md) — Distributes computational workloads across multiple processor cores to ensure efficient hardware utilization.

### Data & Databases

- [Epoch-Based Reclamation](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/zero-copy-memory-mappings/epoch-based-reclamation.md) — Implements epoch-based reclamation to safely defer memory deletion in concurrent environments.

### Software Engineering & Architecture

- [Data Structures](https://awesome-repositories.com/f/software-engineering-architecture/queues/lock-free/data-structures.md) — Provides a variety of high-performance lock-free data structures for shared-memory concurrency.
- [Work-Stealing Queues](https://awesome-repositories.com/f/software-engineering-architecture/task-queues/work-stealing-queues.md) — Provides work-stealing deques that allow idle threads to steal tasks from busy workers.

### Development Tools & Productivity

- [Wait-Free Synchronization](https://awesome-repositories.com/f/development-tools-productivity/thread-managers/wait-free-synchronization.md) — Provides wait-free synchronization primitives ensuring guaranteed progress for all participating threads.

### Networking & Communication

- [Multi-Producer Channels](https://awesome-repositories.com/f/networking-communication/message-broker-producers/multi-producer-channels.md) — Implements multi-producer single-consumer channels for efficient in-memory communication between threads.

### Programming Languages & Runtimes

- [Memory Consistency Models](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/synchronization-primitives/memory-consistency-models.md) — Allows explicit definition of memory order constraints to ensure consistency across processor cores.

### Scientific & Mathematical Computing

- [Parallel Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/parallel-algorithms.md) — Enables the development of complex parallel algorithms while maintaining strict data consistency.
