Found 116 packages
Asynchronous coordination primitives.
A C# lock replacement for async/await, supporting recursion/re-entrance and asynchronous waits. Handles async recursion correctly - note that Nito.AsyncEx does not!
Core interfaces and utilities that support the DistributedLock.* family of packages
An asynchronous .NET library that allows you to lock based on a key (keyed semaphores), limiting concurrent threads sharing the same key to a specified number, with optional pooling for reducing memory allocations.
Async synchronization primitives, async collections, TPL and dataflow extensions. The JoinableTaskFactory allows synchronously blocking the UI thread for async work. This package is applicable to any .NET application (not just Visual Studio).
Provides a distributed lock implementation based on SQL Server
Provides a distributed lock implementation based on Postgresql
Provides easy-to-use mutexes, reader-writer locks, and semaphores that can synchronize across processes and machines. This is an umbrella package that brings in the entire family of DistributedLock.* packages (e. g. DistributedLock.SqlServer) as references. Those packages can also be installed individually.
Provides a distributed locking implementation based on Azure blob leases
An externally initializing singleton that uses double-check asynchronous locking, with optional async and sync disposal
Provides a distributed lock implementation based on global WaitHandle objects in Windows
Provides a distributed locking implementation based on Apache ZooKeeper
Provides a distributed lock implementation based on MySql
Provides a distributed lock implementation based on Oracle Database
Async synchronization primitives, async collections, TPL and dataflow extensions. The JoinableTaskFactory allows synchronously blocking the UI thread for async work. This package is applicable to any .NET application (not just Visual Studio). This package contains only the library, without a dependency on the analyzers. Use the Microsoft.VisualStudio.Threading package to get the library and analyzers together.
Lazy execution for your C# adventures! Contains classes like AsyncLazy, AsyncContext, AsyncCache and AsyncLock.
Asynchronous locks and .NET threading extensions
Non-blocking, fast and lightweight async/await-able lock
A set of async versions of common concurrency primitives.
This package helps you to lock threads by name.