DotNext.Threading by Roman Sakno

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

 DotNext.Threading

Namespace with 19 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.
 AsyncLazy`1 Provides support for asynchronous lazy initialization.
 AsyncManualResetEvent Represents asynchronous version of .
 AsyncReaderWriterLock Represents asynchronous version of .
 AsyncSharedLock Represents a lock that can be acquired in exclusive or weak mode.
 AsyncTimer Represents asynchronous timer.
 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

 AsyncBridge Allows to turn and into task.
 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 synchronization primitives that rely on first-in-first-out (FIFO) wait queues.
 Synchronizer Provides a framework for implementing asynchronous locks and related synchronization primitives 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.