Show / Hide Table of Contents

Class QueuedSynchronizer

Provides a framework for implementing asynchronous locks and related synchronization primitives that rely on first-in-first-out (FIFO) wait queues.

Inheritance
Object
QueuedSynchronizer
AsyncAutoResetEvent
AsyncCounter
AsyncExclusiveLock
AsyncReaderWriterLock
AsyncSharedLock
Implements
ISynchronizer
Namespace: DotNext.Threading
Assembly: DotNext.Threading.dll
Syntax
public abstract class QueuedSynchronizer : Disposable, ISynchronizer
Remarks

Derived synchronization primitives less efficient in terms of memory pressure when compared with Synchronizer. It provides the individual instance of under contention for each waiter in the queue.

Methods

| Improve this Doc View Source

Dispose(Boolean)

Releases all resources associated with exclusive lock.

Declaration
protected override void Dispose(bool disposing)
Parameters
Type Name Description
Boolean disposing

Indicates whether the Dispose(Boolean) has been called directly or from finalizer.

Remarks

This method is not thread-safe and may not be used concurrently with other members of this instance.

Explicit Interface Implementations

| Improve this Doc View Source

ISynchronizer.HasWaiters

Declaration
bool ISynchronizer.HasWaiters { get; }
Returns
Type Description
Boolean

Implements

ISynchronizer

Extension Methods

AsyncLockAcquisition.AcquireLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, CancellationToken)
ExpressionBuilder.Const<T>(T)
ObjectExtensions.GetUserData<T>(T)
ObjectExtensions.IsOneOf<T>(T, IEnumerable<T>)
ObjectExtensions.IsOneOf<T>(T, T[])
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>)
LockAcquisition.AcquireReadLock<T>(T)
LockAcquisition.AcquireReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireWriteLock<T>(T)
LockAcquisition.AcquireWriteLock<T>(T, TimeSpan)
LockAcquisition.AcquireUpgradeableReadLock<T>(T)
LockAcquisition.AcquireUpgradeableReadLock<T>(T, TimeSpan)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX