Expand description
Synchronization tools for concurrent programming
Modules
- Concurrent data structures
- Multiple producer, multiple consumer channels
- A single-producer single-consumer channel that sends a single value
Structs
- a primitive to signal and wait on a condition
MultiRateLimiter
enables key-based rate limiting, where each key has its ownRateLimiter
.- a primitive for mutual exclusion
- This mutex is naive because it optimize the scenario where multiple threads are in contention for the lock. See crate::concurrent::sync::Mutex for an optimized implementation.
RateLimiter
is a tool which can control the rate at which processing happens.- a primitive for mutual exclusion that allows multiple readers or one writer at a time
- a primitive to limit access
- A
ShutdownController
is used to signal that the application is shutting down and should wait for all pending tasks to complete. - Listens for a shutdown signal.
- a primitive for mutual exclusion that spins in a loop