Namespace CryptoHives.Foundation.Threading.Async.Pooled
Classes
- AsyncAutoResetEvent
An async version of AutoResetEvent which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations.
- AsyncBarrier
An async barrier synchronization primitive which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations.
- AsyncConditionVariable
An async condition variable that pairs with AsyncLock to provide "wait until condition" semantics without blocking a thread, equivalent to Wait(object) for async code.
- AsyncCountdownEvent
An async version of CountdownEvent which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations.
- AsyncExchange<T>
A two-party rendezvous that lets two tasks atomically swap values without allocations, equivalent to Java's
Exchanger<V>for async code.
- AsyncKeyedLock<TKey>
An allocation-light async-compatible per-key exclusive lock implemented with pooled ValueTask sources. Operations on different keys run fully concurrently; operations on the same key are serialized. Note that this lock is not recursive!
- AsyncLock
An allocation-free async-compatible exclusive lock implemented with pooled ValueTask sources. Note that this lock is not recursive!
- AsyncManualResetEvent
An async version of ManualResetEvent which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations.
- AsyncReaderWriterLock
An async reader-writer lock which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations. Supports optional timeout and cancellation token parameters on all lock acquisition methods.
- AsyncSemaphore
An async version of SemaphoreSlim which uses a pooled approach to implement waiters for ValueTask to reduce memory allocations.
Structs
- AsyncKeyedLock<TKey>.Releaser
A small value type returned by awaiting a lock acquisition. Disposing the releaser releases the lock for Key.
- AsyncLock.Releaser
A small value type returned by awaiting a lock acquisition. Disposing the releaser releases the lock.
- AsyncReaderWriterLock.Releaser
A small value type returned by awaiting a lock acquisition. Disposing the releaser releases the lock.
Enums
- AsyncReaderWriterLock.Releaser.ReleaserType
Specifies the releaser type.