-
parking_lot
More compact and efficient implementations of the standard synchronization primitives
-
spin
Spin-based synchronization primitives
-
rayon
work-stealing parallelism for Rust
-
flume
A blazingly fast multi-producer channel
-
async-lock
Async synchronization primitives
-
async-channel
Async multi-producer multi-consumer channel
-
crossbeam
Tools for concurrent programming
-
dashmap
Blazing fast concurrent HashMap for Rust
-
thread_local
Per-object thread-local storage
-
threadpool
A thread pool for running a number of jobs on a fixed set of worker threads
-
jobserver
GNU Make jobserver for Rust
-
oneshot
spsc channel with (potentially) lock-free non-blocking send, and a receiver supporting both thread blocking receive operations as well as Future based async polling
-
triomphe
A fork of std::sync::Arc with some extra functionality and without weak references (originally servo_arc)
-
ringbuf
Lock-free SPSC FIFO ring buffer with direct access to inner data
-
loom
Permutation testing for concurrent code
-
blake2s_simd
a pure Rust BLAKE2s implementation with dynamic SIMD
-
scc
High performance containers and utilities for concurrent and asynchronous programming
-
thread-priority
managing threads priority and schedule policies
-
lasso
A multithreaded and single threaded string interner that allows strings to be cached with a minimal memory footprint, associating them with a unique key that can be used to retrieve them at any time
-
state
safe and effortless global and thread-local state management
-
sync_wrapper
enlisting the compiler's help in proving the absence of concurrency
-
leaky-bucket
A token-based rate limiter based on the leaky bucket algorithm
-
stateright
A model checker for implementing distributed systems
-
corosensei
A fast and safe implementation of stackful coroutines
-
mpi
Message Passing Interface bindings for Rust
-
lockfree-object-pool
A thread-safe object pool collection with automatic return and attach/detach semantics
-
atomic
Generic Atomic<T> wrapper type
-
thingbuf
I'm at the buffer pool. I'm at the MPSC channel. I'm at the combination MPSC channel and buffer pool.
-
archery
Abstract over the atomicity of reference-counting pointers
-
atomic_float
Floating point types which can be safely shared between threads
-
rtrb
A realtime-safe single-producer single-consumer ring buffer
-
may
Rust Stackful Coroutine Library
-
radium
Portable interfaces for maybe-atomic types
-
futures-intrusive
Futures based on intrusive data structures - for std and no-std environments
-
try-lock
A lightweight atomic lock
-
ratelimit
ratelimiter that can be shared between threads
-
scheduled-thread-pool
A scheduled thread pool
-
sled
Lightweight high-performance pure-rust transactional embedded database
-
throttle-server
Provide semaphores for distributed systems via an http interface
-
futures-channel
Channels for asynchronous communication using futures-rs
-
async-condvar-fair
Condition variables for async Rust
-
atomic_refcell
Threadsafe RefCell
-
shuttle
testing concurrent Rust code
-
mpstthree
implementing Multiparty Session Types for 2 or more participants
-
jobslot
GNU make jobserver for Rust
-
automerge
A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically
-
wasm_thread
An std thread replacement for wasm32 target
-
triple_buffer
triple buffering, useful for sharing frequently updated data between threads
-
concurrent-queue
Concurrent multi-producer multi-consumer queue
-
concurrent-map
a lock-free linearizable B+ tree
-
tachyonix
A very fast asynchronous, multi-producer, single-consumer bounded channel
-
waker-fn
Convert closures into wakers
-
graph
high-performant graph algorithms
-
flurry
Rust port of Java's ConcurrentHashMap
-
yaque
disk-backed persistent queue for Rust
-
atomig
Generic, convenient and lock-free
std
atomics viaAtomic<T>
. Can be used with many primitive types (including floats) and with custom types. -
resman
Runtime managed resource borrowing
-
sea-streamer
🌊 The stream processing toolkit for Rust
-
inline-array
efficient immutable inlinable byte array
-
workerpool
A thread pool for running a number of jobs on a fixed set of stateful worker threads
-
diatomic-waker
An async, lock-free synchronization primitive for task wakeup
-
orx-concurrent-vec
A thread-safe, efficient and lock-free vector allowing concurrent grow, read and update operations
-
mco
Rust Coroutine Library like go
-
disruptor
Low latency inter-thread communication via a ringbuffer (inspired by the LMAX Disruptor)
-
bus
A lock-free, bounded, single-producer, multi-consumer, broadcast channel
-
memo-map
implementing a synchronized map for memoization
-
samsa
Rust-native Kafka/Redpanda protocol and client implementation
-
parallel-sh
Execute commands in parallel
-
lasso2
A multithreaded and single threaded string interner that allows strings to be cached with a minimal memory footprint, associating them with a unique key that can be used to retrieve them at any time
-
typedmap
A hash map (dash map). A type of value is defined by trait implemented on key type
-
dispatch
Rust wrapper for Apple's Grand Central Dispatch
-
surrealkv
A low-level, versioned, embedded, ACID-compliant, key-value database for Rust
-
maitake-sync
No-std async synchronization primitives from Maitake
-
kanal
The fast sync and async channel that Rust deserves
-
gix-lock
A git-style lock-file implementation
-
rusty_pool
Self growing / shrinking
ThreadPool
implementation based on crossbeam’s multi-producer multi-consumer channels that enables awaiting the result of a task and offers async support -
sdd
Scalable lock-free delayed memory reclaimer
-
no_deadlocks
A Runtime Deadlock Debugger
-
runnel
the pluggable io stream. now support: stdio, string io, in memory pipe
-
recloser
A concurrent circuit breaker implemented with ring buffers
-
messaging_thread_pool
aiding the creation of typed thread pool of objects that is communicated with via channels
-
boxcar
A concurrent, append-only vector
-
sync_file
Files that can be read concurrently
-
rustix-futex-sync
Linux futex-based synchronization
-
callysto
Stream processing framework
-
lockable
offers hash map and cache data structures where individual entries can be locked
-
atomic-time
AtomicDuration
,AtomicOptionDuration
,AtomicSystemTime
,AtomicOptionSystemTime
,AtomicInstant
andAtomicOptionInstant
for Rust -
oqueue
Non-interleaving multithreaded output queue
-
gst-plugin-threadshare
GStreamer Threadshare Plugin
-
indicatif-log-bridge
Bridge the log crate and indicatif to stop log lines from mixing up with progress bars
-
paralight
A lightweight parallelism library for indexed structures
-
async_once
async once tool for lazy_static
-
shred
Dispatches systems in parallel which need read access to some resources, and write access to others
-
safe-lock
A lock struct with a
const fn
constructor and nounsafe
- ARCHIVED -
arrayfire
high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA…
-
guardian
owned mutex guards for refcounted mutexes
-
rtsc
Real-time Synchronization Components
-
steady_state
Framework for building long running low latency actor based services on Linux. Provides visual telemetry to watch data flows between actors. Uses Erlang style supervisors to defend…
-
rearch
Re-imagined approach to application design and architecture
-
signals_receipts
exfiltration of the receipt of POSIX signals
-
io-reactor
Concurrent I/O resource management using reactor pattern
-
gabriel2
Indeed, an actor library based on Tokio, written in Rust
-
uid
creation of unique IDs
-
pueue
A cli tool for managing long running shell commands
-
seize
Fast, efficient, and robust memory reclamation for concurrent data structures
-
svix-ksuid
A pure Rust and fully tested KSUID implementation
-
append-only-vec
Append-only, concurrent vector
-
watchable
RwLock-like type that is compatible with both multi-threaded and async code
-
paradis
Parallel processing with disjoint indices
-
mutringbuf
lock-free SPSC ring buffer, with in-place mutability
-
urcu2
Safe API to liburcu
-
mcslock
Mellor-Crummey and Scott contention-free lock for mutual exclusion, referred to as MCS lock
-
oneshot-uniffi
Patched version of oneshot specifically for the UniFFI project. This removes the
loom
target and dependency which helps with UniFFI’s downstream consumers -
concurrent_arena
u32 concurrent insertion/removal arena that returns ArenaArc
-
rclite
small, fast, and memory-friendly reference counting compatible with Arc and Rc APIs
-
st3
A very fast lock-free, bounded, work-stealing LIFO queue
-
skedge
Ergonomic single-process job scheduling for Rust programs
-
electrologica
High performance concurrent primitives for Rust
-
aarc
Atomically updatable variants of Arc and Weak for lock-free concurrency
-
loole
A safe async/sync multi-producer, multi-consumer channel
-
rustc-rayon
work-stealing parallelism for Rust - fork for rustc
-
atom
A safe abstraction around AtomicPtr
-
tonari-actor
A minimalist actor framework aiming for high performance and simplicity
-
idr-ebr
An efficient concurrent ID to object resolver
-
swap-buffer-queue
A buffering MPSC queue
-
cfavml
CF's Accelerated Vector Math Library providing SIMD optimzied routines for vector operations
-
async-skipdb
An embedded, in-memory, zero-copy, atomicity, consistency, MVCC, almost lock-free and serializable snapshot isolation database engine
-
tc-transact
Traits and locking utilities for a TinyChain transaction
-
open-coroutine
efficient and generic stackful-coroutine library
-
pumps
Eager streams for Rust
-
orx-concurrent-iter
A thread-safe, ergonomic and lightweight concurrent iterator trait and efficient implementations
-
thingvellir
a concurrent, shared-nothing abstraction that manages an assembly of things
-
picokafka
Kafka library for tarantool-module based on librdkafka
-
bindgen_cuda
Bindgen like interface to build cuda kernels to interact with within Rust
-
fault-injection
fault injection, concurrency delay injection, and error source annotation
-
actify
An intutive actor model with minimal boilerplate
-
choir
Task Orchestration Framework
-
sharded_mutex
No per-object memory overhead locks. Pseudo atomic ops for Copy/PartialEq types.
-
batch-aint-one
I got 99 problems, but a batch ain't one
-
atom_box
A safe idiomatic Rust implementation of Atomic Box using hazard pointers
-
spinning_top
spinlock crate based on the abstractions provided by
lock_api
-
threadbound
Make any value Sync but only available on its original thread
-
atomptr
A safe, dependency-less abstraction for typed atomic smart pointers
-
oxidd-manager-pointer
Pointer-based manager implementation for OxiDD
-
qutex
Synchronization mechanisms that rely on lock-free and other non-(thread)blocking techniques, such as Rust futures, to guarantee mutually exclusive or shared exclusive access to data
-
tsuki-scheduler
light wight, composable and extensible scheduler for every runtime
-
whisk
fast lockless async channels
-
nbio
Non-Blocking I/O
-
session_log
session log library for Rust
-
trauma
Simplify and prettify HTTP downloads
-
crossfire
channels for async and threads
-
lever
Pillars for Transactional Systems and Data Grids
-
rabbit-auto
Wrappers for lapin publishers and consumers
-
gettid
Helper to get an integer ID for the current thread
-
local-sync
Non-threadsafe data structure for async usage
-
nexus-actor-remote-rs
Remote library for Nexus Actor
-
supply-chain-trust-example-crate-000025
More compact and efficient implementations of the standard synchronization primitives
-
minstant
A drop-in replacement for
std::time::Instant
that measures time with high performance and high accuracy powered by TSC -
utils-atomics
Various atomic utils
-
mintex
minimal mutex
-
async-local
For using thread locals within an async context and across await points
-
atomic-take
Atomically take a value out of a container once
-
cargo-steady-state
Code generator for steady_state projects based on a structured dot file
-
rcron
cron job scheduling for rust
-
fast-able
The world's martial arts are fast and unbreakable; 天下武功 唯快不破
-
sluice
Efficient ring buffer for byte buffers, FIFO queues, and SPSC channels
-
desync
A hassle-free data type for asynchronous programming
-
portable_atomic_enum
An attribute to create an portable atomic wrapper around a C-style enum
-
rtic-monotonics
that provides implementations of the Monotonic trait from rtic-time
-
melodium
Dataflow-oriented language & tool, focusing on treatments applied on data, allowing high scalability and massive parallelization safely
-
atomic-shim
Atomic types for unsupported platforms
-
tasklet
An asynchronous task scheduling library
-
crossbeam-utils
concurrent programming
-
liner_broker
Redis based message serverless broker
-
crossbeam-skiplist-mvcc
Support MVCC (Multiple Version Concurrent Control) for
crossbeam-skiplist
-
cachemap2
A concurrent insert-only hashmap for caching values
-
someday
Lock-free MVCC primitive
-
omango
Concurrency collections
-
may_actor
Actor library based on MAY
-
rayon-cond
Experimental iterator wrapper that is conditionally parallel or serial
-
crossbeam-queue
Concurrent queues
-
parking
Thread parking and unparking
-
channel
Rust advanced queue library
-
timeslice
periodic time slice scheduler
-
jod-thread
std::thread which joins on drop by default
-
pagetable
Wait-free 4-level 64-bit pagetable for roughly-contiguous keys
-
async-stm
Asynchronous Software Transactional Memory
-
readlock
A weird alternative to Arc<RwLock<T>>
-
speare
actor-like thin abstraction over tokio::task and flume channels
-
happylock
Free deadlock prevention
-
rcu_cell
a lockless rcu cell implementation
-
moga
A multi-objective genetic algorithm framework
-
rw-cell
Write data to cell from anything place your application without copy, lock and reading in one place
-
rose_bloom
A concurrent growing element size linked list with stable pointers
-
p3-maybe-rayon
Feature-gated wrapper around rayon
-
thread-manager
A streamlined Rust library for efficient thread pooling and parallel job execution, designed for simplicity, flexibility, and performance
-
pariter
Parallel iterator processing
-
file-per-thread-logger
A logging implementation that writes logs in one file per thread
-
arccstr
Thread-safe, reference-counted null-terminated immutable strings
-
rayon-progress-bar
work-stealing parallelism for Rust
-
shipyard_scenegraph
Scenegraph for Entity Component System
-
yazi-scheduler
Yazi task scheduler
-
atomic-wait
Cross-platform atomic wait and wake (aka futex) functionality
-
atomic_enum
An attribute to create an atomic wrapper around a C-style enum
-
reord
Run your tests multi-threaded, but in a reproducible way
-
protoflow
implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
amity
Concurrency algorithms
-
datafusion-substrait
DataFusion Substrait Producer and Consumer
-
myriam
Actor model implementation for local and remote actors
-
ptr_cell
Thread-safe cell based on atomic pointers
-
semka
Semaphore implementation
-
benjamin_batchly
Low latency batching tool. Bundle lots of single concurrent operations into sequential batches of work.
-
atomic_once_cell
Thread-safe and lock-free OnceCell and Lazy
-
blazemap
Implements a vector-based slab-like map with an interface similar to that of HashMap, and also provides tools for generating lightweight identifiers that can be type-safely used as keys for this map
-
balter
A load/stress testing framework
-
slog-atomic
Atomic run-time controllable drain for slog-rs
-
rucron
Job Scheduling Crate
-
chili
low-overhead parallelization library
-
async-event
An efficient async condition variable for lock-free algorithms
-
tc-scalar
TinyChain's scalar value enum, including concurrently-resolvable op definitions and references
-
turbo-metrics
Toolkit to compute quality metrics fast using a GPU
-
node-replication
An operation-log based approach that transform single-threaded data structures into concurrent, replicated structures
-
sharded-thread
Expirement for now
-
tatl
in-process alerting
-
armc
that facilitates Mutex access to variables
-
congestion-limiter
Dynamic congestion-based concurrency limits for controlling backpressure
-
anchor-chain
A statically typed async framework for building LLM-based applications
-
k-lock
A fast mutex for short critical sections
-
unlock
Instrumented synchronization primitives helping you to unlock performance issues
-
creche
A replacement for std::process::Command and related types in the standard library. Runs single processes, and pipelines of processes, with configuration of file descriptors and environment for each child process.
-
namaste
-
kueue
A robust, user-level, work-stealing, distributed task scheduler
-
synchronoise
Synchronization primitives that build upon the standard library
-
employees
A small runtime that hides all the boilerplate when using threads
-
roboplc
Framework for PLCs and real-time micro-services
-
orx-parallel
A performant and configurable parallel computing library for computations defined as compositions of iterator methods
-
lockfree
concurrent data structures and a solution to the ABA problem as an alternative of hazard pointers
-
easy-threadpool
A relatively simple thread pool which you can send jobs to
-
amadeus
Harmonious distributed data processing & analysis in Rust. parquet postgres aws s3 cloudfront elb json csv logs hadoop hdfs arrow common crawl
-
tokio-cron
cron scheduler for tokio
-
fluxion
actor framework written in rust and designed for distributed systems
-
lock_ext
Extensions to std::sync::Mutex
-
mpvipc
A small library which provides bindings to control existing mpv instances through sockets
-
parallel-processor
Framework to manage asynchronous execution of multiple compute units communicating using messages
-
atomic-interval
A tiny implementation of an atomic timer
-
open-coroutine-hook
The syscall hook for open-coroutine
-
async-atomic
Atomics which can be subscribed to and asynchronously notify when updated
-
freezebox
deref'able lazy-initialized container
-
rocketmq-common
Apache rocketmq common
-
idgenerator-thin
Shorter ID and faster generation with a new snowflake drift algorithm. The core is to shorten the ID length, but also can have a very high instantaneous concurrent processing capacity (50W/0…
-
tlrepo
Thread-local git2::Repository, shareable across threads
-
active_standby
A concurrency primitive for high concurrency reads
-
mpsc_requests
mpsc channels but with a response
-
txn_lock
support transactional versioning
-
maybe-rayon
Either acts as rayon or creates a single-threaded facade
-
pi_atom
The global thread safe atomic string pool reduces the memory occupation of the same string and is also used for HashMap keys
-
rearch-effects
Re-imagined approach to application design and architecture
-
iterator_ilp
Iterator extensions for instruction-parallel reductions
-
miden-tx-prover
Miden rollup transaction prover
-
rust-lockless-slotmap
A (mostly) lockless slotmap implementation in Rust
-
keepcalm
shared types for multi-threaded programs
-
parallel-future
fluent async task experiments
-
treiber_stack
A lockless, thread-safe, atomic linked-list
-
concurrent-slotmap
A lock-free concurrent slotmap
-
kube-leader-election
Leader election implementations for Kubernetes workloads
-
disruptor-rs
A high-performance ring buffer implementation of the LMAX Disruptor pattern
-
nexus-actor-utils-rs
Nexus Actor
-
parcheck
Test permutations of concurrent scenarios
-
batch-processing
A batch library for processing a list of items in parallel
-
salsa
A generic framework for on-demand, incrementalized computation (experimental)
-
par-iter-sync
Parallel Iterator With Sequential Output
-
pubserve
generic observer trait
-
lock_api
Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.
-
split_channel
stream-of-messages abstraction with split send/recv channels
-
evtcall
Rust Event Driven Framework
-
sharded_queue
ShardedQueue is currently the fastest concurrent collection which can be used under highest concurrency and load
-
wikiwho
Fast Rust reimplementation of the WikiWho algorithm for fine-grained authorship attribution on large datasets. Optimized for easy integration in multi-threaded applications.
-
direct_ring_buffer
A high-performance, lock-free ring buffer for single-producer, single-consumer scenarios
-
evident
Pub/Sub library using IDs to identify events
-
restd
A re-implementation of various std features
-
permit
A struct for cancelling operations
-
atomic-file-install
For atomically installing a file or a symlink
-
command-executor
Command Executor thread pool
-
windows-key-listener
Listen to arbitrary key chords on Windows
-
ebr
epoch-based reclamation with low cacheline ping-pong
-
nblock
Non-Blocking Runtime
-
lfchring
Concurrent, lock-free implementation of a consistent hashing ring data structure, supporting virtual nodes and keeping track of replication
-
pausable_clock
A source of time information that can be paused and resumed
-
thread-counter
way of efficiently keeping track of active threads and waiting for them to exit
-
antidote
Poison-free versions of the standard library Mutex and RwLock types
-
dynamodb_lock
Distributed lock backed by Dynamodb
-
incr
fast and self-contained data structures for checking whether a new value is greater than the previous maximum
-
thread_local_collect
Supports the collection and aggregation of thread-local data across threads
-
yash-executor
single-threaded concurrent task executor
-
spools
Content scraping library for Instagram's Threads
-
circ
Efficient referenced counted pointers for non-blocking concurrency
-
atomicell
Multi-threaded RefCell on atomics
-
bastion
Fault-tolerant Runtime for Rust applications
-
rusturnate
A sync or async mutex, with or without timeouts
-
crossbeam-skiplist-pr1132
A concurrent skip list
-
papaya
A fast and ergonomic concurrent hash-table for read-heavy workloads
-
thread_io
performing I/O in background thread
-
throttle-client
Client for Throttle. Throttle is an http semaphore service, providing semaphores for distributed systems.
-
multithreading
in Rust
-
rust_kits
kits
-
asyncgit
allow using git2 in a asynchronous context
-
pi_arr
lock-free & auto-expansion array
-
pi_share
rc, arc, lock, atomic
-
datacake
A batteries included framework for building fault-tolerance distributed data systems
-
amfiteatr_classic
some classic game theory problems to research on
-
mpmc-async
A multi-producer, multi-consumer async channel with reservations
-
tokio-cadence
Tokio-based metric sinks for Cadence
-
redlock
distributed locking mechanism built on top of Redis
-
with_daemon
An async client-daemon abstraction framework
-
rayon-scan
A parallel prefix scan function for ParallelIterator
-
synchronized
Convenient and simple macro for code synchronization in multithreading
-
threadcell
A cell whose value can only be accessed by a owning thread
-
television-rs
The revolution will be televised
-
squeue
sized queue
-
oxidd-rules-mtbdd
Multi-terminal decision diagrams (MTBDDs) for OxiDD
-
pacwrap-agent
Executable agent for conducting containerized transactions
-
fibers
execute a number of lightweight asynchronous tasks (a.k.a, fibers) based on futures and mio
-
leaklist
concurrent, lock-free, singly-linked list
-
chute
Lockfree mpmc/spmc multicast queue
-
atomicbox
Safe atomic pointers to boxed data
-
irondash_run_loop
Consistent, platform-independent interface to system run loop
-
crossbeam-channel
Multi-producer multi-consumer channels for message passing
-
bztree
BzTree implementation for Rust
-
td_rthreadpool
thread wrapper for Rust
-
non_blocking_mutex
NonBlockingMutex is currently the fastest way to do expensive calculations under lock, or do cheap calculations under lock when concurrency/load/contention is very high
-
print_queues
A print queues that can be add from different thread and print on main thread
-
range-lock
Range lock for std::vec::Vec
-
may_queue
May's internal queue library
-
mea
A runtime-agnostic library providing essential synchronization primitives for asynchronous Rust programming
-
granite_reckoner
aggregator enabling basic statistical operations on Vec<T> in the specified number of threads. Works for all Rust's built-in numeric types.
-
dag-scheduler
a scheduler of dag computation graph
-
mogul
Agnosticly helps to manage concurrent versions of things
-
pargraph
Operator based parallel graph processing
-
mtlog
Multi-threaded logger with support for log files
-
stuck
Multi-threading scheduled task facility building on cooperative stackful coroutine
-
init-once
Concurrent, non-blocking lazy initialization of values
-
ring-channel
Bounded MPMC channel abstraction on top of a ring buffer
-
tracing-mutex
Ensure deadlock-free mutexes by allocating in order, or else
-
fork-map
running operations in a child process spawned by
fork()
-
timedmap
A hash map with expiring key-value pairs
-
local_thread
A local thread management library for Rust. No more 'static functions in order to start threads!
-
periodically
running tasks on a schedule
-
zallocator
Amortizes the cost of small allocations by allocating memory in bigger chunks
-
left-right-cell
A cell with lock-free concurrent read access
-
rtic-monotonic
Core abstractions of the Real-Time Interrupt-driven Concurrency Monotonic timers
-
simple-semaphore
🔐 A lightweight implementation of a Semaphore in Rust
-
pinned-mutex
Mutex wrappers with structural pinning
-
cutools
-
signals2
A thread-safe signal/slot library inspired by boost::signals2
-
kontroli
Type checking for the lambda-Pi calculus modulo rewriting
-
clhlock
Craig and, indenpendently, Magnussen, Landin, and Hagersten queue lock for mutual exclusion, referred to as CLH lock
-
mq
Message Queue
-
stdworld
signal-safe std replacement
-
folklore
A lock-free concurrent hash map
-
relaxed
Wrappers around Atomics that always use
Ordering::Relaxed
-
mvsync
A standalone async and worker thread library, with expandable traits and command buffers
-
hala-sync
Hala synchronous primitive
-
navvy
MPSC Channel broker allowing channels of different types to be stored in a single data structure
-
blaze-rs
A Rustified OpenCL Experience
-
sharded-vec-writer
Write parts of a Vec from different threads
-
ballista
Distributed Compute
-
hylarana-common
A cross-platform screen casting library implemented by Rust
-
protoflow-blocks
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
async_nursery
Primitive for structured concurrency
-
ump
Micro message passing library for threads/tasks communication
-
arena64
A concurrent arena providing mutually exclusive access over guarded indexes
-
slacktor
extremely fast, bare-bones, low-overhead, supervisorless, no-std actor library
-
task_simple
Execute functions in the background, both on desktop and web
-
omango-futex
Futex for Rust
-
simple-left-right
Lockfree, realtime safe and copy-free Synchronisation
-
arc-cell
Helper for a simple Cell-like object containing Arc/Weak
-
reactivate
Thread Safe Reactive Data Structure. Made with ❤️ for 🦀
-
snowdon
A lightweight thread-safe snowflake ID implementation for Rust
-
infinitree-backends
Embedded, encrypted database with tiered cache -- backends
-
seqlock
A reader-writer lock that provides extremely fast read access without starving writers
-
parseq
Parallel sequential iterator
-
EMCompute
fast , simple and cross-platform parallel computing library
-
crossbeam-deque
Concurrent work-stealing deque
-
ora-worker
Part of the Ora scheduler framework
-
egui_inbox
send messages to egui views from async functions, callbacks, etc. without having to use interior mutability.
-
atomicring
AtomicRingBuffer is a constant-size almost lock-free concurrent ring buffer
-
orx-concurrent-bag
An efficient, convenient and lightweight grow-only concurrent data structure allowing high performance concurrent collection
-
blocking-threadpool
A thread pool for running a number of jobs on a fixed set of worker threads
-
latches
A downward counter (CountDownLatch) which can be used to synchronize threads or coordinate tasks
-
mutex_trait2
Generic mutex trait
-
vin
An ergonomic actor framework
-
session_types
session types in Rust
-
caos
Concurrent Append Only Segment-list
-
tari_shutdown
A convenient shutdown signal
-
sinner
Easy cross-thread resource sharing for Rust!
-
boomerang
Deterministic Middleware for Robotics
-
halt
functionality for pausing, stopping, and resuming iterators, readers, and writers
-
spry
Resilient, self-healing async process hierarchies in the style of Erlang/OTP
-
peace-lock
A zero-cost abstraction lock that helps check contention free algorithms
-
deferred-reference
A deferred reference is not an actual reference, it is merely a smart pointer tied to the lifetime of the location it points to
-
sigq
Queue that signals waiting consumers about node availability
-
atomic-waitgroup
A waitgroup implementation supports async with advanced features
-
re_smart_channel
A channel that keeps track of latency and queue length
-
interaction-calculus
A parallel model of computation
-
commonware-runtime
Execute asynchronous tasks with a configurable scheduler
-
ampsc
async multi-producer single-consumer channel
-
concur_demo
concur multi thread samples
-
snowflake-rs-impl
Twitter's Snowflake ID generation algorithm
-
flashmap
A lock-free eventually consistent concurrent hash map
-
rusty-cron-scheduler
scheduler that executes function pointers following a cron string
-
simd-itertools
SIMD-accelerated alternatives for common operations like contains, max, find etc
-
cuneiform-fields
Field level [no_std] cache optimizations for Rust
-
fast-logger
Fast logger for Rust
-
sparking-lot-core
parking on addresses
-
stronghold-stm
Software transactional memory
-
lock_free_hashtable
Lock-free (almost) insertion only hashtable
-
rsevents
Manual and auto reset events for signaling threads and writing new synchronization primitives like semaphores
-
mlua-kafka
A Rust-native implementation of lua-kafka for mlua
-
wakerset
no_std, no_alloc storage of Wakers embedded in the Future type
-
hydra-dashmap
A fork of dashmap for the hydra framework
-
atomx
Thread safe data structures based on atomic data types
-
concurrent-initializer
concurrent initializer to ensure initialization only once per key
-
ordered-parallel-iterator
Performs tasks in parallel returning completed tasks in order of appearance
-
persistent-scheduler
high-performance task scheduling system developed in Rust using Tokio. This system supports task persistence, repeatable tasks, Cron-based scheduling, and one-time tasks, ensuring reliability…
-
single_value_channel
Concurrent single-value update and receive channel
-
hopper
an unbounded mpsc with bounded memory
-
two_phase_channel
A safe synchronisation-free parallel communication channel by statically forbidding conflicting accesses
-
async-pipes
building concurrent data processing pipelines
-
sortlock
providing ordered locking
-
stm
Software transactional memory. Allows composable atomic operations.
-
conquer-once
Synchronization primitives for lazy and one-time initialization
-
rusty_junctions
Join Pattern implementation in Rust
-
sas
Salty-and-Sweet one-line Rust Runtime Performance Optimization Library
-
mt-debug-counters
support high performance debug counters for heavy multithreaded applications
-
uf_rush
A lock-free, thread-safe implementation of the Union-Find (Disjoint-Set) data structure
-
bicoro
Bidirectional co-routine data structures
-
goko
A lock-free, eventually consistent, concurrent covertree
-
atomic-maybe-uninit
Atomic operations on potentially uninitialized integers
-
renoir
Network of Operators In Rust
-
sea-streamer-socket
🌊 SeaStreamer backend-agnostic Socket API
-
left-right
A concurrency primitive for high concurrency reads over a single-writer data structure
-
watch
A synchronous message passing channel that only retains the most recent value
-
supply-chain-trust-example-crate-000031
More compact and efficient implementations of the standard synchronization primitives
-
axka-rcu
A reference-counted read-copy-update (RCU) primitive used for protecting shared data
-
pikav
that help you send event to client with topic subscription
-
concurrent_lru
A concurrent LRU cache
-
swimming
Dive into Efficiency with Swimming: A High-Performance, No-Nonsense Connection Pool
-
con-art-rust
ART-OLC concurrent adaptive radix tree
-
cond_sync
Hides the boilerplate code needed with std::sync::Condvar
-
env-lock
Set and lock environment variables for tests
-
tlid
Thread Local ID generator by predefined range without atomics/locks/random/time
-
terminate-thread
terminatable thread implemented with pthread
-
flo_stream
Pubsub and related streams for Rust futures
-
carpet
A thread-safe, fully-parallel directed graph
-
per-thread-mutex
Synchronization lock designed for wrapping thread-unsafe C libraries
-
rusty_chain
abstracts over functional processing units called
chain links
. Each link in the chain is meant to be independent, immutable, idempotent, and highly testable. -
threadsafe_zmq
Threadsafe zeromq
-
moro
Experimental structured concurrency support for async Rust (similar to trio's nurseries)
-
par-dfs
Parallel, serial, and async dfs and bfs traversal
-
blocking_semaphore
performant blocking semaphore
-
atomic-arena
Generational arena allows reserving keys from other threads
-
essential-lock
A minimal crate containing Essential's locking method that is safe to use in async code
-
vigil
liveness checking watchdog for detecting deadlocks/livelocks/starvation etc
-
yaambo
concurrent skip lists
-
renege
Tracking cache validity using fast concurrent invalidation propogation
-
ppl
A structured parallel programming library for Rust
-
dpc-pariter
Parallel iterator processing
-
crius
hystrix-like circuit breaker
-
async-cpupool
async threadpool for CPU-bound tasks
-
mcl_sched
installable wrapper for the MCL (Minos Compute Library) Scheduler 'mcl_sched'
-
atomic-destructor
Atomic destructor for multi-threaded env
-
threadmap
WIP
-
wasm_sync
Synchronization primitives for both web and native
-
bi
-
nolock
A collection of Lock-Free Datastructures
-
zolegus
-
either-slot
An atomic slot whose senders can either place their value into the slot, or retrive all the data from the slot
-
supply-chain-trust-example-crate-000051
Tools for concurrent programming
-
threadalone
Make any value Send + Sync but only available on its original thread. Don't use on multi-threaded environments!
-
context
Cooperative multitasking for Rust using Boost.Context
-
deque
A (mostly) lock-free concurrent work-stealing deque
-
spinout
A thread-safe clonable and mutable smart-pointer akin to
Arc<Mutex<T>>
, using spin-lock instead of system futex -
tagged-rendezvous
Rendezvous hashing with support for tag-based exclusions
-
ocl-interop
Creates an OpenCL Context with OpenGL Interop enabled
-
sentinel-core
The flow sentinel of your microservices
-
rly
Run shell commands concurrently with ease. Currently only a CLI tool.
-
disrustor
This project is a port of the LMAX Disruptor to Rust
-
threadling
Threads as traits
-
mpsc
mpsc channel
-
dropout
Drop your objects out of main thread
-
hala-lockfree
Some lockfree structure for rust
-
leapfrog
A fast, lock-free concurrent hash map
-
backdrop_arc
Arc which will drop its large or complex contents in the background with Backdrop! (later, on another thread, or both! Fully customizable! Tokio supported!)
-
statman
Stat Manager
-
workpool
Distribute work to a set of threads and wait for completion
-
pulse
async wake signals
-
adaptive-barrier
Barrier with adaptable number of thread subsciptions
-
sync_2
A little crate providing a Rust implemented Mutex and RwLock
-
blinkcast
Fast, bounded, multiple-producer, multiple-consumer, lossy, broadcast channel
-
may_waiter
coroutine communication blocker
-
executors
A collection of high-performance task executors
-
mwcas
Multi-word CAS primitive
-
async-datachannel
Async Wrapper for datachannel
-
rayon-wasm
work-stealing parallelism for Rust
-
asparit
Async Parallel Iterators for Rust
-
flue
An efficient and secure actor runtime library
-
jtp
thread pool, similar to the ThreadPoolExecutor in java
-
threadpool-executor
A threadpool executor
-
tokio-condvar
A Condition Variable for Tokio Applications
-
asar-snes
Rust bindings for Asar (https://github.com/RPGHacker/asar)
-
global_counter
Global, thread-safe counters
-
datacake-crdt
A conflict free replicated datatype based on a hybrid logical clock implementation for building eventually consistent data stores
-
protex
(Process Mutex) concurrency in process level
-
readfish-tools
Tools for analysing adaptive sampling data
-
redbus
A high-performance global message bus for concurrent applications
-
arrayfire_fork
ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA…
-
norpc
Framework for in-process microservices
-
tokio-etcd-lock
WIP
-
geph-nat
concurrent NAT thingy used throughout Geph
-
cooptex
Deadlock free Mutexes
-
zkstate
Share a struct across multiple instances of an application using zookeeper
-
real-time
Safely share data with a real-time thread
-
fast-counter
A sharded concurrent counter
-
ligmars
Safe bindings to the LGMP C library
-
ns3-parallel
A Multitask Parallel Concurrent Executor for ns-3 (network simulator)
-
yaks
Minimalistic framework for automatic multithreading of hecs via rayon
-
nexus-acto-rs
Actors
-
ordered-channel
A channel that always receives messages in the correct order, even if they were sent out of order
-
round_mult
A tiny library to round a number up or down to a multiplier
-
rtic-syntax
The Real-Time Interrupt-driven Concurrency (RTIC) meta language
-
xloc
A fast, multi-threaded line counting utility written in Rust
-
arcow
Atomically Reference-counted Copy-On-Write shared pointer
-
sync-unsafe-cell
A backport of the SyncUnsafeCell standard library type for use in older Rust versions
-
gmtx
Mutex that grant exclusive access to a group of members
-
hey_listen
An event-dispatcher-collection offering async, sync, parallel, and prioritised solutions!
-
crusty
Fast && scalable Broad Web Crawler developed on top of crusty-core
-
acto
light-weight Actor library for Rust
-
gpgpu
WIP GPGPU framework built on top of wgpu
-
mongo_sync
instant coding answers via the command line(just like howdoi)
-
parsli
Parallel status lines for Rust
-
onetime
(aka. oneshot) async spsc channel
-
swctx
One-shot channel with some special semantics
-
currant
spawn concurrent shell processes in rust
-
blackhole
...to throw your threads into
-
big_data
Safe Rust code for creating Erlang NIF to store big data
-
atomic-counter
Atomic (thread-safe) counters for Rust
-
elysees
A fork of triomphe, now with more pointer trickery
-
ipmpsc
Inter-process Multiple Producer, Single Consumer Channels
-
hammer-cli
Hammer is a no-config cli tool for running concurrent tasks with monorepo support
-
lockfree-ringbuffer
A lock-free ring buffer implementation in Rust
-
shared-expiry-get
concurrent async get with expiration for Rust
-
ductile
A channel implementation that allows both local in-memory channels and remote TCP-based channels with the same interface
-
quartz_sched
Minimalistic scheduling library for Rust
-
lock_freedom
concurrent data structures and a solution to the ABA problem as an alternative of hazard pointers
-
rs-fsrs
Rust-based Scheduler for FSRS
-
thread-tree
A tree-structured thread pool for splitting jobs hierarchically on worker threads. The tree structure means that there is no contention between workers when delivering jobs
-
with_lock
Deadlock freedom
-
sea-streamer-file
🌊 SeaStreamer File Backend
-
rust-debugging-locks
debugging locks in Rust
-
easy-parallel
Run closures in parallel
-
dremoc-sync
Synchronization utilities
-
godwit-daemon
A daemon runner for GodWit
-
apalis-core
Core for apalis: simple, extensible multithreaded background processing for Rust
-
usync
fast, drop-in, synchronization primitives
-
talos_messenger_actions
Messenger actions for Talos
-
spmc
channel
-
mpi-fork-fnsp
Message Passing Interface bindings for Rust (FORK)
-
cache-padded
Prevent false sharing by padding and aligning to the length of a cache line
-
work-queue
A concurrent work-stealing queue for building schedulers
-
evlru
An eventually consistent LRU designed for lock-free concurrent reads
-
tourniquet-tonic
Async native round-robin manager for remote services. Tonic integration.
-
wasm-futures-executor
Executor for asynchronous task based on wasm web workers
-
idle
Collection of idle strategies to be used by thread(s) when they have no work to perform
-
pcat
A dead-lock free parallel cat implementation
-
skipchannel
skipchannels allow to communicate between threads, but always skip to the last sent value
-
cht
Lockfree resizeable concurrent hash table
-
mutex
An abstraction over closure-based mutexes
-
fast-async-mutex
lib which provide asynchronous locking mechanisms (Mutex, RwLock, OrderedMutex and OrderedRwLock)
-
pinboard
A lock-free, threadsafe way to publish data, just stick it on the pinboard
-
seda_bus
A Staged Event-Driven Architectural message bus
-
io_partition
allowing to use just a part of a Read + Seek object
-
hyaline-smr
Garbage Collector(Hyaline- Safe Memory Reclaimation) for lock free data structures
-
rcu_128
RCU (Read-Copy-Update) implementation for platforms supporting atomic 128-bit operations
-
nysa
A bus for passing messages around between independent subsystems of an application
-
tcb
A middleware service for delivering messages in a causal order
-
dager
create and execute a graph of nodes
-
rcurs
An oxidized RCU implementation
-
supply-chain-trust-example-crate-000089
Spin-based synchronization primitives
-
redsync
Redlock for distributed locks with Redis
-
chashmap-async
Concurrent async hash maps with key-scoped locking
-
threadstack
A more ergonomic and more flexible form of thread local storage
-
mtlog-progress
A progress bar implementation working gracefully with mtlog's logger
-
read-write-store
A concurrent, unordered collection for Rust, where each element has an internally generated ID and a read-write lock
-
brutils
Some utilities for Rust
-
async-sema
Async semaphore library
-
flowync
multithreading a/synchronization
-
seckoo
A concurrent Cuckoo Hash Table
-
potential
Borrowing for futures - Potential enables interior mutation using mutex and asynchronous borrowing (leasing) through a oneshot channel
-
ulock-sys
Rust bindings for Darwin's (e.g. macOS, iOS, ...) not-entirely-public ulock API, which provides futex-like functionality.
-
evmap
A lock-free, eventually consistent, concurrent multi-value map
-
atomic_sibling_counter
A shared counter that allows parallel threads/tasks to check how many siblings they have. The counter is atomic and threads/tasks are not synchronized or coupled in any way.
-
kademlia-dht
Kademlia DHT
-
fibril
implementing distributed systems with commmunicating fibers
-
cortexm-threads
context-switching on ARM Cortex-M ( 0, 0+, 3, 4, 4F ) micro-processors
-
maxwell-utils
Maxwell utils implementation for Rust
-
ora
A scheduler framework
-
pime
Rust Python Integration Made Easy
-
wrrm
Write-rarely-read-many wrapper
-
lockless
Composable, lock-free, allocation-light data structures
-
job_abstrs
Abstractions for event-driven jobs
-
supermon
A set of utilities for coordinating watchers, middleware, and consumers via channels
-
exclusion-set
a lock-free concurrent set
-
takecell
A cell type which value can only be taken once
-
arl
A rate limiter to be used with tokio
-
mutex_logger
logger that usess mutex for thread safty
-
anylock
Polymorphic Locks
-
rusty-jokes
A humorous Rust crate that brings joy and entertainment to Rust programmers with features like Laughable Lifetimes, Comedic Concurrency, and Punchline Pointers
-
hytra
Datastructure for fast multi-threaded updates
-
unknownrori-simple-thread-pool
A lighweight thread pool for networking and other stuff
-
base-threadpool
minimalistic threadpool implementation
-
jobsys
Lockless Work Stealing Job System
-
protoflow-syntax
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
rider
bounded executor for tokio; limit the count of tasks running 🚦
-
melodium-common
Common Mélodium elements and traits
-
or_poisoned
Unwrap std lock guards in a semantic way
-
lockpool
offers a pool of locks where individual locks can be locked/unlocked by key
-
rs_lockfree
a lock-Free lib based on practical Hazard Pointers algorithm
-
swap-arc
A swappable Arc
-
priomutex
A mutex where waiting threads specify a priority
-
priority
A thread/task priority type
-
stakker_log
Logging support for Stakker
-
pipelines
constructing multi-threaded pipelines of execution
-
async-map-reduce
Fast map-reduce based on threading
-
coarsetime
Time and duration crate optimized for speed
-
greenie
Green threads and coroutines in stable Rust
-
autoincrement
wrapper for different purposes
-
aide-de-camp
backend agnostic delayed job queue
-
aramid
Synthetic fibers
-
dycovec
A dynamically-allocated, concurrent vector
-
queued-task
concurrent queue task processing
-
interval-task
Repeatedly execute a
Task
with fixed time delay. more thansetInterval
-
channel-receiver
Channel Receiver
-
native-timer
Timer library which uses OS timer capabilities
-
task_pool
Flexible abstraction for task-based composable multithreading
-
diplomatic-bag
A wrapper type that allows you to send
!Send
types to different threads -
refcell-lock-api
A single-threaded implementation of lock_api for RefCell, to alllow abstracting between single-threaded & multi-threaded code
-
highroller
high-level rolling index that is thread-safe and guarantees cheap runtime-unique IDs
-
libblobd-direct
blobd, direct variant
-
managed-thread
Real fearless concurrency! Spawn threads that will be automatically destroyed when no longer needed
-
ctx-thread
Cooperative, scoped threads based on crossbeam and golang’s context package
-
concread
Concurrently Readable Data-Structures for Rust
-
semaphore-key
control concurrent thread access by key using a shared semaphore
-
entropy-ecs
一个虚拟世界
-
llq
Wait-free SPSC linked-list queue with individually reusable nodes
-
conquer-util
concurrent and lock-free programming
-
proglog
Thread safe progress logging
-
thfmr-protocol
Internal control protocol encoding and decoding library for the TouHou.FM Radio project
-
rgraph
A task graph library
-
syncthreads
Safe thread synchronization
-
locktick
Automated lock accounting & profiling
-
revenq
A concurrent, revision-based event queue implementation
-
mlsp
small library for smart pointers that use both thread local and global atomic counters
-
irox-threading
Blocking and Asynchronous Threading Tools
-
dci
DCI-Closed, a frequent closed itemset mining algorithm, implemented in Rust
-
bursty
Test support for exarcebating contention in multi-threaded code
-
multithread
API for data-parallel tasks, rayon-lite
-
kafka_json_processor_core
The core logic for your Kafka processor, part of kafka-json-processor project
-
lightproc
Lightweight process abstraction for Rust
-
peril
Fast and safe Hazard pointers for Rust
-
promise_out
promiseOut version for rust
-
concurrency-demo-benchmarks
A small utility to benchmark different approaches for building concurrent applications
-
sea-streamer-examples
🌊 The stream processing toolkit for Rust
-
node-workers
A pool of long-lived nodejs workers
-
rtfm-syntax
The Real Time for The Masses (RTFM) meta language
-
locklessness
Composable, lock-free, allocation-light data structures
-
no-std-async
Async synchronization primitives for #[no_std] rust
-
swimming-pool
threadpool for running a number of jobs on a fixed number of threads
-
win-events
A poor attempt to implement WaitForMultipleObjects and the ManualReset, AutoReset and Pulse types
-
cloudi
API
-
refcapsule
Safely send references to other threads
-
atomicslice
thread-safe shared slices that are just about as fast as possible to read while also being writable
-
init_guard
A Synchronization Primitive for guarding against double initialization
-
simt
compute support for rust
-
cell-family
Cheap cells accessed through unique owners
-
stewart
A minimalist, high-performance, and non-exclusive actor system
-
threatpool
thread pool
-
distribuidos_sync
Sync common utils using standard library
-
slb
Sharded load balancing text-streaming Unix tool
-
mpmc
copy-pasted from old rust stdlib
-
dynamic_ocl
Dynamically-loaded OpenCL bindings
-
dfmutex
Deadlock-free Mutex locks
-
parking_lot_rt
Parking-lot fork for real-time applications
-
rush_core
The rules engine is based on the rete algorithm
-
navactor
A cli tool for creating and updating actors from piped input
-
secc
Implements a Skip-Enabled Concurrent Channel (SECC) for Rust
-
tucan
fast, and multithreaded interner with loose type requirement
-
sync-extra
Convenience functions to Mutex and RwLock
-
fan
Simplifies fanning-out (and eventually -in) with channels
-
tokio-bichannel
Bidirectional tokio::sync::mpsc channel
-
mycorrh
fast concurrent messaging system for Rust
-
atomic-array
Defines several array types in which elements may be updated atomically. Intended to provide atomic array types similar to those found in java.util.concurrent.atomic in Java.
-
persistent_stack
Concurrent persistent stack
-
xrm
Cross Runtime Manager
-
yanoo
Lock-free mpmc broadcast channel
-
slottle
A throttle pool library designed for thread-based concurrency
-
governor
A rate-limiting implementation in Rust
-
chex
Global exit signal library
-
shared-local-state
shared local state registry for use in EBR, IO, etc
-
objectpool
lock-free object pool, support no_std
-
chatty
A Chat Server written in Rust
-
humthreads
Threads for humans
-
deploy-common
Common components for the
deploy
andfabric
crates -
inert
lets you use non-Sync values in a Sync way
-
cogo
Rust Coroutine Library like go
-
little_raft
The lightest distributed consensus library. Run your own replicated state machine!
-
ringbuf-blocking
Blocking version of ringbuf
-
toktor
A small tokio-based Actor framework
-
rt-history
An RT-safe history log with error checking
-
lock_pool
Robust, efficient, high performance, asynchronous object pooling
-
cpq
A Concurrent Priority Queue implemented in Safe Rust
-
xarc
xarc
provides atomically swappable atomically refcounted smart pointers as a safer building block for lockfree algorithms than raw atomic pointers.Xarc
is comparable toArc
but… -
sync_splitter
Safely split a mutable slice in multiple threads at the same time
-
atomicbox_nostd
Fork of the atomicbox library that works in no_std contexts
-
simdvec
Vectors, but with the operational speedup of SIMD!
-
parallel-iterator
Parallelize any iterator with ease!
-
pcp-mutex
A Priority Ceiling Protocol (PCP) mutex, based on Linux PI futex. Allows efficient and deadlock free execution.
-
arrow-rayon
Use parallel iterators for Apache Arrow with rayon
-
nemo
Session types for asynchronous networking
-
thinkofname/think_ecs
Source code of the game Univercity: https://store.steampowered.com/app/808160/UniverCity/
-
orx-concurrent-ordered-bag
An efficient, convenient and lightweight grow-only concurrent data structure allowing high performance and ordered concurrent collection
-
rearch-tokio
Re-imagined approach to application design and architecture
-
fenic
test concurrent code
-
rtrb-basedrop
A fork of the
rtrb
crate that uses basedrop’s Shared pointer in place of Arc -
parallel_reader
reading from a file (or any
Read
stream) and processing it by chunks, in parallel -
ringbuf-basedrop
A fork of the
ringbuf
crate that uses basedrop’s Shared pointer in place of Arc -
lock-free-static
Lock-free static variables
-
synqueue
Internally synchronized (MPMC) queue
-
thread-control
control threads' execution/status
-
testbench
Testing and benchmarking tools for concurrent Rust code
-
crossbeam-epoch
Epoch-based garbage collection
-
is_main_thread
A simply tool to check if current thread is the main one
-
swapper
Swap ownership between threads
-
talaria
A high performance, cyclic message passing library
-
object-space
An object store library for highly concurrent program written in Rust
-
sesh
deadlock-free session-typed communication
-
kcas
A lock-free, allocation-free multi-word compare-and-swap library
-
foco
Topic-based strongly typed pubsub for no_std rust
-
rayon-par-bridge
Process Rayon parallel processing with a traditional sequential Iterator
-
atomic-try-update
Primitives that make it easy to implement correct lock-free algorithms
-
r3bl_core
Helper crate for r3bl_tui and r3bl_tuify crates. Used by workspace in https://github.com/r3bl-org/r3bl-open-core
-
voxel-tiler-core
Convert point clouds to voxel data
-
discord-termview
Spawn multiple concurrent unix terminals in Discord
-
despero-hecs-schedule
shedulable systems and parallel execution for hecs
-
grandma
A lock-free, eventually consistent, concurrent covertree
-
sleepfast
Sleep for very small amounts of time quickly
-
atomicdouble
128-bit atomics for generic type
-
stronghold-rlu
Read-Log-Update software transactional memory like synchronization mechanism
-
locktree
Experimental compiler-checked deadlock-freedom
-
ach-cell
Atomic Channel
-
skippy-rs
A set of lock free, thread safe, and fast data structures implemented via a Skip List
-
swap_channel
A safe lock-free parallel communication channel based on mem::swap
-
evolution
Efficiently evolve your old fixed-length data files into modern file formats
-
lofi
Low Overhead Fibers
-
mbarc-map
Minimally-blocking, Atomic Reference Counted Map
-
stop-thread
Various ways of stopping threads on various platforms, without requiring the thread to poll
-
atomic-memcpy
Byte-wise atomic memcpy
-
scrummage
Fight over OS process prioritisation
-
rjq
Redis job queue
-
ev_slotmap
A lock-free, eventually consistent, concurrent slot map
-
magnetic
Low-latency lock-free queues
-
PRUEBA
Colas tarea
-
rusty_hausdorff
A parallel implementation of the directed Hausdorff distance
-
lazy_ref
Implements a non-blocking synchronization primitive for lazy-initialized immutable references
-
microlock
waiting: Small locks and other timing things!
-
shardize
proc macro that generates code to create a sharded form of an existing container
-
tc-tensor
TinyChain's Tensor collection type
-
rayon_logs
Traces for the rayon work-stealing library
-
killable_thread
A wrapper for thread that allows it to be easily stopped cooperatively
-
fused-reader
fused reader type that if writer thread dies while holding armed fuse the reader will get BrokenPipe error
-
concurrent-round-robin
A concurrent wrr implementation for rust
-
sever
Coerce hardlinks into new files
-
status_executor
Run your work on some context (thread) and get status info back
-
stoppable_thread
A wrapper for thread that allows it to be easily stopped cooperatively
-
async-liveliness-monitor
A Liveliness Monitor for your Asynchronous Runtimes
-
rewrk
HTTP benchmarking tool
-
atomic_prim_traits
Traits over primitive atomic types
-
infinitree
Embedded, encrypted database with tiered cache
-
uchan
Multi-producer single-consumer channel for message passing
-
hwlocality
Idiomatic Rust bindings for the hwloc hardware locality library
-
efflux
Easy MapReduce and Hadoop Streaming interfaces in Rust
-
mp2c
A multi producer multi polling consumer library that enables multiple producers to send messages to multiple consumers completely asynchronously
-
runloop
Cancelable non-blocking polling threads (with optional timeouts)
-
libmcl-sys
This system crate provides Rust language bindings to the Minos Compute Library (MCL)
-
bustle
Benchmarking harness for concurrent key-value collections
-
reactor_rs
reactor-rust is an implementation of the Reactive-Streams
-
async-events
Waiting for external task completion in asynchronous Rust code
-
crosstalk
An extremely lightweight, topic-based, cross-thread, in-memory communication library
-
tyra
Typed Actor System
-
sublock
Variants of RwLock/RefCell that support sublocks, opened for reading if the main
RwLock
is opened for reading, opened for writing if the mainRwLock
is opened for writing -
dekker
Dekker's algorithm for mutual exclusion
-
bmrng
async MPSC request-response channel for Tokio
-
spinning
Mutexes and SIX locks implemented by spinning
-
fenris-paradis
Parallel processing of disjoint indices for the fenris library
-
cnr
An operation-log based approach for data replication
-
rayon_croissant
<lqd> bikeshedding the name: something that is mapped folded and collected, a 🥐
-
gosh-remote
Distributed parallel computing over multiple nodes
-
multichannel
A mpmc priority multi channel with dynamic channel registration and freezing
-
simple-rw-global
GlobalContainer based on std::sync::RwLock
-
lazy_id
A thread-safe lazily-initialized ID
-
specs-static
extension for Specs that adds custom ids
-
lariv
Linked Atomic Random Insert Vector: a thread-safe, self-memory-managed vector with no guaranteed sequential insert
-
contrie
Concurrent map and set
-
queuingtask
queueingtask is a library for running different threads in order in Rust
-
schedwalk
Test futures under all possible polling schedules
-
mscheduler
Use mongodb to schedule task running
-
update_channel
A channel for single updatable values
-
rapidsync
Rapid & threadsafe embedded data stores
-
rayon_iter_concurrent_limit
Limit the concurrency of an individual rayon parallel iterator method with a convenient macro
-
amfiteatr_proc_macro
Procedural macro crate for amfiteatr_* crates
-
cpu-affinity
Cross-Platform CPU affinity
-
single_executor
Traits for concurrent primitives
-
blobd
Blob storage designed for huge amounts of random reads and small objects with constant latency
-
todc-utils
building and testing distributed systems
-
thread_lake
A very high level thread pool manager
-
channel-sender
Channel Sender
-
android-wakelock
Safe and ergonomic Rust bindings to the Android WakeLock API
-
deqp-runner
A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline
-
double-checked-cell-async
A thread-safe lazily initialized cell using double-checked locking
-
shared_channel
Multi-producer, multi-consumer FIFO queue communication primitives
-
para
A dataflow/pipeline parallelization framework
-
run-them
A CLI to launch a single command with many workers, serializing the output
-
acteur
A safe actor-like framework that just works. Simple, robust, fast, documented.
-
colosseum
A variety of arena allocators for Rust, including thread-safe arenas
-
ump-ng
Micro message passing library for threads/tasks communication
-
ora-timer
Part of the Ora scheduler framework
-
paladin-core
distributed algorithm toolkit. Write distributed algorithms without the complexities of distributed systems programming.
-
hv-elastic
Safe and almost-safe abstractions for lengthening lifetimes and
'static
“loaning” of non-'static
types -
grip-grab
A faster, more lightweight ripgrep alternative
-
crossbeam-skiplist_piedb
A concurrent skip list
-
maxim
Implements a highly-scalable and ergonomic actor system for Rust based on the best of Erlang / Elixir and Akka. A fork of the Axiom actor framework.
-
async-map
A rarely-locking, shared map for Rust
-
timer-rs
timer used to schedule execution of closures at a given timestamp
-
amadeus-parquet
An Apache Parquet implementation in Rust
-
fragile
wrapper types for sending non-send values to other threads
-
cupchan
async overwriting channel between two threads that is wait & block free by swapping cups around
-
async-datachannel-wasm
Async Wrapper for WebRTC datachannel in the browser environment
-
ballista-scheduler
Ballista Distributed Compute - Scheduler
-
supply-chain-trust-example-crate-000041
More compact and efficient implementations of the standard synchronization primitives
-
zkmq
Message Queue, backed by Zookeeper
-
vlock
A fast and scalable multi-version shared state lock with wait-free read access
-
std-semaphore
A counting, blocking sempahore extracted from rust 1.7.0
-
spliter
way to implement Rayon's ParallelIterator
-
nvrtc
Bindings for NVIDIA® CUDA™ NVRTC in Rust
-
spin-sync
Synchronization primitives using spinlock. The interface resembles std::sync. The constructors of public structs are const; i.e. it is possible to declare static Mutex<T> as long as T can be build statically.
-
arrows
An actor framework in rust with message durability and ingestion order processing of of messages
-
rdispatcher
Dispatcher for Rust, broadcast and subscribe many to many
-
classic-sync
ReentrantLock, Semaphore and CyclicBarrier using Classic Linux Mutex systems
-
go-spawn
that provides macros to spawn and join threads with minimal boilerplate
-
sea-streamer-stdio
🌊 SeaStreamer Standard I/O Backend
-
caring
Sharing is caring: a safe library for mmap'ing memory in multiple processes
-
try-mutex
Fast non-blocking mutex
-
shared_resources
shared resources container which is thread-safe, and lock-free
-
glock
Granular locking crate for Rust
-
snowflake-multi-threaded
The rust-lang implementation of Twitter's id generator algorithm snowflake, it thread safety | Twitter 的id生成器算法snowflake的rust-lang 实现
-
rayon-core
Core APIs for Rayon
-
ez_logging
dirt-cheap logging system
-
barriers
A barrier spin lock implementation
-
paradis-demo
demo functionality for paradis, not intended for use
-
mth_calc
demonstrating Cargo. Contains helper method for running a process in parallel on all available processors.
-
flexible-locks
Flexible Locks
-
spin_loop
-
csplib
CSP for concurrent programming
-
mioco
Scalable, asynchronous IO coroutine-based handling (aka MIO COroutines)
-
rc_event_queue
VecDeque-like fast, unbounded, FIFO, concurent read-lock-free message queue
-
water
thread-safe distributed message sending facility supporting synchronous and asynchronous I/O across process and machine boundaries. It also uses nets which allow message broadcasts to all…
-
piper
Async pipes, channels, mutexes, and more
-
gaffer
Prioritised, parallel job scheduler with concurrent exclusion, job merging, recurring jobs and load limiting for lower priorities
-
rpools
A minimalist workerpool for rust
-
streambed-patterns
Patterns for working with streambed
-
coro
Stackful, first-class asymmetric coroutines
-
async_ach-notify
Async Atomic Channel
-
async-priority-channel
An async channel where pending messages are delivered in order of priority
-
forkjoin
A work stealing fork-join parallelism library for Rust
-
threadfin
A thread pool for running multiple tasks on a configurable group of threads
-
dashmap_with_out_t_map_trait
Blazing fast concurrent HashMap for Rust
-
steelmill
A resource manager (dependency injector / factory) designed for distributed systems and simulation testing
-
hv-guarded-borrow
Traits and implementations for generic use of "guarded" borrows
-
ocl
OpenCL bindings and interfaces for Rust
-
consume
Memory order consume for when it's known that the compiler can't elide the dependency
-
syncell
Sync alternative to RefCell
-
hadron-client
The Hadron Rust client library
-
waithandle
that makes signaling between threads a bit more ergonomic
-
gemino
A multi producer multi consumer (MPMC) broadcasting channel
-
atomic-story
An brief overview of atomics and memory ordering on a multi-threaded context with examples
-
rsevents-extra
Synchronization objects built on top of rsevents. Semaphore, countdown event, and more.
-
ordered-locks
Compiletime deadlock avoidance
-
protoflow-zeromq
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
threadgroup
Manage groups of threads as one unit, join the first one that finishes, timeout on join attempts
-
witty-actors
Fork of quickwit-actors, Actor framework used in quickwit
-
crossbeam-skiplist
A concurrent skip list
-
television
The revolution will be televised
-
futures-dagtask
DAG-based Task Queue
-
pawawwewism
a wewy sewious wibwawy fow stwuctuwed concuwwency, i pwomise :3
-
thread_db
Rust wrapper for libthread_db
-
mini-io-queue
Fixed-length, allocation and lock-free, async I/O oriented single-producer single-consumer queues
-
concurrent_open_map
A concurrent hashmap implementation in Rust
-
one_at_a_time_please
For serialising calls to functions
-
atomic_pingpong
Lightweight no_std ping-pong buffer, using AtomicU8 for synchronization
-
rcell
A Cell which can hold either an Arc or an Weak smartpointer or be empty
-
async-mutex
Async mutex
-
amadeus-postgres
Harmonious distributed data analysis in Rust
-
semalock
concurrently writing to files in a safe and efficient manner
-
hv-lease-tracker
no-std compatible tracking of borrow origins, for providing better diagnostics when implementing interior mutability primitives
-
open-coroutine-iouring
The io_uring support for open-coroutine
-
protoflow-core
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
orx-concurrent-option
ConcurrentOption is a lock-free concurrent read and write option type
-
channel_io
Reader implementation on channel of bytes
-
mrogalski-looper
Clean abstraction for a single-threaded event loop. Built as a lightweight wrapper around the std::sync::mpsc package.
-
nexus-actor-core-rs
Core library for Nexus Actor
-
consumable_vec
generic approach to create a mutual database for multiple producers and consumers
-
perthread
ThreadMap structure for accessing PerThread thread local variables form a static context
-
raliguard
Lazy rate limit semaphore implementation for your asynchronous code frequency execution
-
readlock-tokio
A weird alternative to Arc<RwLock<T>>, using tokio's RwLock
-
pflock
A phase-fair reader-writer lock that reduces worst-case blocking for readers. Especially useful for multiprocessor real-time systems.
-
sentinel-rocket
Sentinel middleware for Rocket
-
lock-free-freelist
A fast lock free limited length free list for multiple producer and consumer
-
dynqueue
Dynamically extendable Rayon parallel iterator
-
poolio
A thread-pool
-
bufchan
buffered MPSC channel
-
structured_persistent_logger
A structured 'log' logger that allows for persistent fields
-
threadbeam
specialized channel type for beaming data out of a newly spawned thread
-
rtfm-core
Core abstractions of the Real Time For the Masses framework
-
concurrency_traits
Traits for concurrent primitives
-
slog-json-concur
JSON drain for slog-rs with concurrency
-
unbounded-spsc
An unbounded spsc queue built from
bounded_spsc_queue
s -
denog_runtime
denog runtime library
-
base-coroutine
A fast and safe implementation of stackful coroutines with scheduler which supports preemptive scheduling
-
amadeus-types
Harmonious distributed data analysis in Rust
-
lucchetto
easily call a rust function without holding the GVL lock
-
thread_reviver
A Discord bot to revive any archived threads (to counter Discord's auto-archive function)
-
shared-resource-pool-builder
Create thread pools with a shared resource
-
readahead-iterator
Readahead from an iterator on a separate thread, returning items in order and synchronously
-
lines-rs
⚡ A fast line counter written in rust
-
ste
A single-threaded executor with some tricks up its sleeve
-
try-rwlock
Fast non-blocking readers-writer lock
-
waitcell
A cell type containing a value which may not yet be available
-
jthread
Deadlock-free Mutual Exclusion locks for Rust
-
linux-rtic
A Real-Time Interrupt-driven Concurrency (RTIC) implementation for Linux
-
melodium-engine
Mélodium core engine and executor implementation
-
simplelock
abstractions for inter-process synchronization
-
rayoff
rayon but it's map-reduce
-
mtlog-tokio
Scoped logging for tokio runtimes with support for log files
-
shareable
Thread shareable objects using the minimal amount of synchronization
-
pacwrap-core
providing core functionality for pacwrap
-
pmpmc
A priority multi producer multi consumer channel
-
key-rwlock
keyed asynchronous reader-writer locks
-
portable-atomic-util
Synchronization primitives built with portable-atomic
-
geese_pool
Message-passing system for networking with Geese
-
provenant
A version of Arc that can free memory while weak pointers exist by probabilistically tracking provenace
-
workerpool-rs
workerpool for rust
-
read-write-api
interface to unify single-threaded code and RwLocks-based code
-
atomic-borrow
atomic reference counter
-
spsc-buffer
Single-producer single-consumer lock-free buffer
-
quick_cache
Lightweight and high performance concurrent cache
-
atomic-destroy
An value which can be atomically read and destroyed; like an atomic Option
-
send-cell
Immutable memory region with runtime Send checking
-
key-mutex
Access mutexes by key
-
cas-lib
Core lib for CAS
-
verona-rt
Idiomatic binding to the verona runtime
-
lossyq
concurrent single publisher, single consumer queue with fixed length, that never blocks the writer
-
rush_expr_engine
The rules engine is based on the rete algorithm
-
nbchan
Highly optimized non-blocking communication channels
-
quinine
Atomic monotonic containers (Mono{Box,Arc})
-
balter-runtime
A load/stress testing framework
-
ppipe
An elegantly simple and lightweight library for making iterator pipelines concurrent and blazingly fast, hence the name ppipe (parallel pipe)
-
bastion-executor
Cache affine NUMA-aware executor for Rust
-
option-lock
mutex for Option values
-
open-coroutine-queue
Concurrent work-stealing queue, implemented using st3 and crossbeam-deque
-
stream-channel
stream in channel
-
todc-mem
Algorithms for shared-memory distributed systems
-
testtools
Helpers for eliminating boilerplate code in tests
-
executor-service
A fast and efficient Thread Pool like Java ExecutorService
-
atomic-bus
Atomic MPMC Bus
-
acto-rs
Experimental actor library, under development. (renamed from minions_rs).
-
request-channel
Async MPSC request-reponse channel
-
jackiechan
Bounded mpsc channel optimized for lazy bulk operations
-
context-coroutine
set of extensions to provide stackful coroutines; it is not officially associated with the context crate
-
workctl
number of higher-level control mechanisms for concurrent work scheduling, built on standard library concurrency primatives
-
rusty-variation
deadlock-free session-typed communication
-
minactor
Minimal actor framework for Rust with tokio
-
chashmap
Fast, concurrent hash maps with extensive API
-
wei-scheduler
wei scheduler
-
slave-pool
thread pool
-
terminate
abstract logic to terminate threads, coroutines and the like
-
voluntary-servitude
Thread-safe appendable list with lock-free iterator
-
task-notify
Notify async tasks when someone mutates data they're interested in
-
rs_taskflow
executing graphs of tasks
-
threads_pool
This package provides an easy way to create and manage thread pools, so you don't have to
-
bichannel
Zero dependency std::mpsc based bidirectional channel
-
fiona
Concurrent runtime written against liburing
-
mtxgroup
mutex group locks all mutexes at the same time
-
fibril_core
Core types for the Fibril library
-
safenv
A thread-safe wrapper around the standard library’s
env
module -
monotone
counters and queues for coordination in distributed systems
-
a_r_c_h_e_r_y
TEMPORARY CRATE
-
kiss-icp
Unofficial Pure Rust Implementation of kiss-icp
-
thunk
Primitives for generic lazy evaluation in Rust. This crate requires nightly for
untagged_unions
. -
wasefire-sync
Portable non-blocking mutex
-
pour
Optionally consed radix tries for fast set operations
-
callback_cell
Like an Atomic<Option<Box<FnOnce()>>>
-
simple_event_map
event map based on channels, provides a receiver that is either blocking or async
-
movie
An actor / thread orchestration library / macro / framework
-
malobu
Atomic MPMC Bus
-
employer
Spawn worker threads and check on them later
-
yuki
multithreaded web archiver
-
rusty-scheduler
A single threaded closure and function scheduler
-
proc-lock-api
APIs for the proc-lock crate
-
sync-cell
A collection of easier to use thread-safe types for the creation of larger thread safe systems
-
kik_sync_service
A synchronous threading worker channel for generating the results you want with the data you need
-
kernel
Abstract Reactive Streams
-
fuze
A mechanism to wait for a single signal which can be checked at any time
-
thread-broadcaster
A SPMC (Single producer multi consumer) broadcasting channel to broadcast notifications between threads
-
actors-rs
Easily build fast, highly concurrent and resilient applications. An Actor Framework for Rust.
-
rt-watchdog
Real-time userspace watchdog for Rust
-
bndpresbufch
Bounds-preserving channel for passing buffers
-
sero
lightweight library for maintaining a shared store of locks
-
coroutines
High performance coroutine library with native experience
-
more-sync
More synchronization utils
-
sea-streamer-runtime
🌊 SeaStreamer async runtime abstraction
-
once_mut
Safe mutable reference to static variable that can be obtained only once
-
read-cell
Read-only Cell counterpart
-
parallel-event-emitter
Parallel Event Emitter for concurrent listener invocation based on futures-rs and futures-cpupool
-
asc
Atomic Strong Count
-
meslin
Ergonomic messaging for Rust
-
datacake-rpc
A zero-copy, actor-like RPC framework using rkyv
-
sea-streamer-redis
🌊 SeaStreamer Redis Backend
-
thread-lock
A wrapper that locks non-Send and non-Sync data to a specific thread
-
refptr
Inherently reference counted structs
-
mrsc
mpsc with requests
-
infinitree-macros
Embedded, encrypted database with tiered cache
-
async_ach-waker
Async Atomic Channel
-
maybe-async-channel
A channel which may or may not be async
-
rust-waitgroup
A Golang like WaitGroup
-
queue-ext
The extended feature of the queue can convert the pop() function of the queue to Stream and the push() function to Sender
-
momen
low overhead thread pool
-
sync_cow
Thread-safe clone-on-write container for fast concurrent writing and reading
-
bombs
Efficient single-producer multi-consumer channel types
-
c-map
Very fast concurrent hashmap
-
sorted-channel
sorted message-based communication channel
-
uppercut
Small and simple actor model implementation
-
async-once-watch
Asynchronous and shareable container which value is set once
-
protoflow-flume
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
semaphorus
Atomic semaphores
-
stretto
high performance thread-safe memory-bound Rust cache
-
busan
An actor implementation for Rust
-
ping-pong-cell
An atomic cell for up to two threads
-
hv-cell
A no-std port of the
atomic_refcell
crate with additionalArc
-centric functionality -
netcon
A collections of tools and helper functions developed for and by NetCon Unternehmensberatung GmbH
-
ump-ng-server
Server message dispatch loop for ump-ng
-
lock-hierarchy
Prevent dead locks by enforcing lock hierarchies
-
sentinel-actix
Sentinel middleware for Actix-Web
-
srmap
A lock-free, eventually consistent, concurrent multi-value map
-
concurrency_toolkit
Easy switching between std::sync, tokio::sync and loom::sync
-
burstq
A multi-producer, multi-consumer channel that supports sending or receiving multiple values in a single operation
-
overdose
Fast, Row Oriented, Kotlin, Scala-like dataframe
-
bplustree
Concurrent in-memory B+ Tree featuring optimistic lock coupling
-
bounded-spsc-queue
A bounded SPSC queue
-
scherben-map
Concurrent Sharded HashMap for Rust
-
thread-safe
Container that allows thread safety for thread-unsafe objects
-
pipeliner
nice interface for parallel programming with iterators
-
rendezvous_swap
Swap data and sync execution between a pair of threads efficiently
-
atomic-hyperloglog
thread-safe hyperloglog, with atomics
-
taskschd
windows taskschd demo
-
promissory
One-shot value exhange between threads
-
lock-free-multi-producer-single-consumer-ring-buffer
A lock-free, multi-producer, single-consumer (MPSC) ring buffer. Optimized for sending and receiving 'bursts' of messages. Can also be used as a ring queue. It is a Rust port of Mindaugas Rasiukevicius's ringbuf.
-
adirector
asynchronous tokio task spawner with a limited size
-
zestors
A fast and flexible actor-framework for building fault-tolerant Rust applications
-
bi_channel
Manage bidirectional mpsc channels more conveniently
-
scoped-threadpool-std
scoped threadpool implementation and related tests including a password hasher
-
mpmcpq
Multi-producer multi-consumer Priority Queue
-
smartpool
A very customizable, future-aware threadpool
-
hj_thread_pool
thread pool implementation in Rust
-
remutex
Recursive mutex, adapted from Rust's standard library
-
tc-fs
TinyChain's transactional filesystem interface layer
-
rhythm
Rate limiter which allows VIPs, written in Rust
-
syncmap
fast, concurrent cache library built with a focus on performance and correctness. The motivation to build syncmap comes from the sync.Map in Golang
-
actress
actor library for Rust
-
riffy
An unbounded, wait-free, multi-producer-single-consumer queue
-
atomic_cell
Lock-free thread-safe mutable memory locations
-
slock
An async mutex that never deadlocks
-
access-queue
limit the number of simultaneous accesses to a value
-
kabuki
Name reservation
-
bound
Wrap lock guards and other structs along with the locks or other data they are derived by shared reference from, in a struct you can pass around and store anywhere
-
user-sync
user-space synchronization
-
rustc-rayon-core
Core APIs for Rayon - fork for rustc
-
af-opencl-interop
ArrayFire is a high performance software library for parallel computing with an easy-to-use API. This crate is an addition on top of ArrayFire crate to enable users to mix RAW CUDA code in rust and ArrayFire.
-
minicoroutine
mini coroutine library in rust
-
stoplight
stoppable tasks/threads
-
orx-pinned-concurrent-col
A core data structure with a focus to enable high performance, possibly lock-free, concurrent collections using a PinnedVec as the underlying storage
-
atomic_box
A struct which allows multiple threads to safely update and read from a shared non-nullable pointer to heap data
-
polyester
Parallel iterator adaptors that accept arbitrary iterators
-
triex
Trivial Executor
-
fibril_verifier
Verifies behavior for distributed systems implemented with the Fibril library
-
juliex
a very basic future executor
-
rslint_rowan
threadsafe fork of rowan for the rslint project
-
tasic
Tokio, Async_STD, Smol, Interface Crate
-
hv-atom
Convenient abstractions for atomic operations on smart pointer/reference types, based on the
atom
crate -
skipdb
An embedded, in-memory, zero-copy, atomicity, consistency, MVCC, almost lock-free and serializable snapshot isolation database engine
-
sento
A lock-free, append-only atomic pool
-
rwcell
value container which allow to simultaneously read and modify value from two separate threads
-
hybrid-lock
A hybrid lock with optimistic locking
-
hiatus
Debug concurrent programs by choosing specific execution traces
-
shrink_pool
A thread pool which agressively terminates its threads as soon as they are idle
-
rework
Multi-threaded task processing in the Master-Worker pattern
-
amadeus-aws
Harmonious distributed data analysis in Rust
-
ccl
Fast datastructures for use in highly concurrent systems
-
locker
named mutex/locker for rust-lang concurrency
-
atomic_immut
Atomic immutable value
-
hurdles
Counter-based thread barrier
-
paradis-core
core functionality for paradis
-
muscat
Multithreaded Side Channel Attacks Tool
-
eventbus
Safe, fast and concurrent event system, inspired by the MinecraftForge event bus
-
bondi
Single producer, multi consumer lock-free ring buffer (experimental)
-
ya-ring-buf
Ring Buffer. SPSC channel with direct access for bytes/Copy.
-
std-mel
Mélodium standard library
-
zsling
Rust Wrapper around a Sequentially lockign (SeqLock) Ring Buffer written in Zig
-
fencing
tokens
-
dyn_object
Ergonomic and thread safe version of Box<dyn Any>
-
par-map
Parallel map and flat_map
-
optimistic-cell
lock-like structure for low-overhead optimistic concurrency
-
chunker
Minimalistic parallel executor
-
pairlock
A reader-writer lock with wait-free reads
-
protoflow-crossbeam
Protoflow implements flow-based programming (FBP) for Rust using Protocol Buffers messages
-
qrwlock
Fair queued read-write lock
-
gothack-future-parking_lot
An "as simple as possible" Future implementation for parking_lot
-
unsync_channel
!Send/!Sync channels for Rust
-
wasserglas
A fixed size thread-safe object pool with automatic reattachment
-
laststage
fast, durable, high concurrent HashMap
-
linux-futex
Futex: A Linux-specific fast user-space locking primitive
-
kai-cli
Kai - todo.txt task scheduler
-
evelyn
event distribution library
-
open-coroutine-core
The open-coroutine is a simple, efficient and generic coroutine library
-
fixed_ring_buffer
An asynchronous SPSC fixed-capacity look-free ring buffer, which can be used to transfer data between two threads or between two asynchronous tasks
-
arcu
An Rcu implementation using an Arc to keep the read critical section should and handle cleanup
-
yastl
scoped threadpool library
-
dynamic-pool
a lock-free, thread-safe, dynamically-sized object pool
-
membarrier
Process-wide memory barrier
-
cura
arc-lock-system that should clean up the code a lot
-
spsc-bip-buffer
A concurrent, spsc ring-buffer with sized reservations
-
lagoon
A thread pool crate with an array of features
-
namedlock
Namespaces for named locks
-
boomerang_util
Boomerang
-
static_locks
The
parking_lot
locks but usable in statics and const fn -
threadpool-crossbeam-channel
A fork of the threadpool create, which uses crossbeam-channel instead of std::mpsc
-
hybridfutex
An efficient hybrid wait queue futex designed for high-contention scenarios, supporting both synchronous and asynchronous waiting and notification. It supports notify and notify_many on all targets.
-
arbalest
Like Arc<T> but where weak references don't forbid mutable access
-
venom_log
Rust async log High-performance asynchronous logging
-
waitmap
an awaitable concurrent hash map
-
disk_log
High Throughout, NonBlocking Disk-based logger
-
shared-mutex
A RwLock that can be used with a Condvar
-
sling
Sequentially lockign (SeqLock) Ring Buffer
-
hubby-core
Hubby lock service core functionality
-
amadeus-commoncrawl
Harmonious distributed data analysis in Rust
-
firefly
[EXPERIMENTAL]
-
kiss-icp-runtime
Unofficial Pure Rust Implementation of kiss-icp
-
ump-server
Server message dispatch loop for ump
-
ach
Atomic Channel
-
thread-owned-lock
Mutex which can only be unlocked by the owning thread
-
lf-queue
A lock-free multi-producer multi-consumer unbounded queue
-
rayon-core-wasm
Core APIs for Rayon
-
parking_monitor
Parking-lot-flavored monitor synchronization construct
-
waitable
A synchronized (atomic) value container implementing the Mutex+Condvar pattern for efficient blocking waits
-
abyss-promise
[abyss] A simple promise implementation with adaptive threadpool support
-
horde
threads
-
tokio-sync-read-stream
Create a stream from a std::io::Read using Tokio blocking threads
-
parking_lot_core
An advanced API for creating custom synchronization primitives
-
theatre
A concise async actor model implementation
-
worker-pool
handle a set of worker threads, which need to communicate back their result to the main thread
-
borrowed-thread
thread-safe way to pass borrow to thread::spawn
-
mailbox_processor_rs
Actor abstraction inspired by the FSharp MailboxProcessor
-
tiny-actor
A minimal actor framework for Rust
-
wei-task
wei task
-
sstb
A thread-safe sstables library
-
brod
A wrapper library providing an API for executing Kafka producers in parallel
-
logmap
A concurrent hashmap using a log for buckets
-
tange
Scalable Task-based Parallelism Framework
-
countdown_latch
A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes
-
lock_cell
A custom locking cell type written in Rust
-
arcstr
A better reference-counted string type, with zero-cost (allocation-free) support for string literals, and reference counted substrings
-
bbq-rs
A Block-based Bounded Queue for Exchanging Data and Profiling
-
sea-streamer-kafka
🌊 SeaStreamer Kafka / Redpanda Backend
-
mula
Share expensive computation with various requesters
-
bastion-qutex
Synchronization mechanisms that rely on lock-free and other non-(thread)blocking techniques, such as Rust futures, to guarantee mutually exclusive or shared exclusive access to data
-
sentinel-tower
Sentinel middleware for Tower
-
rolock
Read Only Lock
-
jotty
embeddable distributed processing framework for both short and long running batch jobs
-
metadata-store
store for recoverable metadata that is written in atomic batches
-
balter-core
A load/stress testing framework
-
roundabout
An message oriented concurrent runtime
-
clone-replace
Share mutable data by cloning and replacing a reference version