DotNext.Threading by Roman Sakno

<PackageReference Include="DotNext.Threading" Version="0.9.0" />

 DotNext.Threading

Namespace with 15 public types

 Classes

 AsyncAutoResetEvent Represents asynchronous version of .
 AsyncBarrier Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.
 AsyncCountdownEvent Represents a synchronization primitive that is signaled when its count reaches zero.
 AsyncExclusiveLock Represents asynchronous mutually exclusive lock.
 AsyncManualResetEvent Represents asynchronous version of .
 AsyncReaderWriterLock Represents asynchronous version of .
 ConcurrentObjectPool`1 Provides container for the thread-unsafe objects that can be shared between threads concurrently.

 Structures

 AsyncLock Unified representation of asynchronous exclusive lock, semaphore lock, read lock, write lock or upgradeable read lock.

 Static Classes

 AsyncEvent Represents various extension methods for types implementing interface.
 AsyncLockAcquisition Provides a set of methods to acquire different types of asynchronous lock.

 Abstract Classes

 QueuedSynchronizer Provides a framework for implementing asynchronous locks and related synchronizers that rely on first-in-first-out (FIFO) wait queues.
 Synchronizer Provides a framework for implementing asynchronous locks and related synchronizers that doesn't rely on first-in-first-out (FIFO) wait queues.

 Interfaces

 IAsyncEvent Represents asynchronous event.
 IAsyncResetEvent Represents asynchronous flow synchronization event.
 ISynchronizer Common interface for all synchronization primitives.