Crate crossbeam[−][src]
Expand description
Tools for concurrent programming.
Atomics
AtomicCell
, a thread-safe mutable memory location.AtomicConsume
, for reading from primitive atomic types with “consume” ordering.
Data structures
deque
, work-stealing deques for building task schedulers.ArrayQueue
, a bounded MPMC queue that allocates a fixed-capacity buffer on construction.SegQueue
, an unbounded MPMC queue that allocates small buffers, segments, on demand.
Memory management
epoch
, an epoch-based garbage collector.
Thread synchronization
channel
, multi-producer multi-consumer channels for message passing.Parker
, a thread parking primitive.ShardedLock
, a sharded reader-writer lock with fast concurrent reads.WaitGroup
, for synchronizing the beginning or end of some computation.
Utilities
Backoff
, for exponential backoff in spin loops.CachePadded
, for padding and aligning a value to the length of a cache line.scope
, for spawning threads that borrow local variables from the stack.
Modules
Atomic types.
Multi-producer multi-consumer channels for message passing.
Concurrent work-stealing deques.
Epoch-based memory reclamation.
Concurrent queues.
Thread synchronization primitives.
Threads that can borrow variables from the stack.
Miscellaneous utilities.
Macros
Selects from a set of channel operations.
Functions
Creates a new scope for spawning threads.