Expand description
Will’s Programming Toolbox
Concurrency Tools
sync::RateLimiter
, a client-side rate limitersync::ds::BasicSharedMap
, a concurrent map that can be cloned and shared between threadsexecutors::RayonThreadPool
, a thread pool which can wait for all tasks to complete before shutting down
Concurrency Primitives
sync::Mutex
, a primitive for mutual exclusionsync::SpinLock
, a primitive for mutual exclusion that spins in a loopsync::RwLock
, a primitive for mutual exclusion that allows multiple readers or one writer at a timesync::Semaphore
, a primitive to limit accesssync::Condvar
, a primitive to signal and wait on a conditionsync::oneshot::Channel
, a single-producer single-consumer channel that sends a single valuesync::mpmc::Channel
, an unbounded multi-producer multi-consumer channel for message passing