AsyncReaderWriterResourceLock<TMoniker, TResource> Class
Microsoft internal only. A non-blocking lock that allows concurrent access, exclusive access, or concurrent with upgradeability to exclusive access, making special allowances for resources that must be prepared for concurrent or exclusive access.
Assembly: Microsoft.VisualStudio.Threading (in Microsoft.VisualStudio.Threading.dll)
Microsoft.VisualStudio.Threading.AsyncReaderWriterLock
Microsoft.VisualStudio.Threading.AsyncReaderWriterResourceLock<TMoniker, TResource>
| Name | Description | |
|---|---|---|
![]() | AsyncReaderWriterResourceLock<TMoniker, TResource>() | Microsoft internal only. Initializes a new instance of the AsyncReaderWriterResourceLock. |
![]() | AsyncReaderWriterResourceLock<TMoniker, TResource>(Boolean) | Microsoft internal only. Initializes a new instance of the AsyncReaderWriterResourceLock. |
| Name | Description | |
|---|---|---|
![]() | AmbientLock | Microsoft internal only. Gets the lock held by the caller's execution context.(Inherited from AsyncReaderWriterLock.) |
![]() | CaptureDiagnostics | Microsoft internal only. Determines whether additional resources should be spent to collect information that would be useful in diagnosing deadlocks.(Inherited from AsyncReaderWriterLock.) |
![]() | Completion | Microsoft internal only. Gets a task whose completion signals that this lock will no longer issue locks.(Inherited from AsyncReaderWriterLock.) |
![]() | IsAnyLockHeld | Microsoft internal only. Determines whether any kind of lock is held by the caller and can be immediately used given the caller's context.(Inherited from AsyncReaderWriterLock.) |
![]() | IsAnyPassiveLockHeld | Microsoft internal only. Determines whether any kind of lock is held by the caller without regard to the lock compatibility of the caller's context.(Inherited from AsyncReaderWriterLock.) |
![]() | IsPassiveReadLockHeld | Determines whether a read lock is held by the caller without regard to the lock compatibility of the caller's context.(Inherited from AsyncReaderWriterLock.) |
![]() | IsPassiveUpgradeableReadLockHeld | Determines whether an upgradeable read lock is held by the caller without regard to the lock compatibility of the caller's context.(Inherited from AsyncReaderWriterLock.) |
![]() | IsPassiveWriteLockHeld | Determines whether a write lock is held by the caller without regard to the lock compatibility of the caller's context.(Inherited from AsyncReaderWriterLock.) |
![]() | IsReadLockHeld | Microsoft internal only. Determines whether the caller holds a read lock.(Inherited from AsyncReaderWriterLock.) |
![]() | IsUpgradeableReadLockHeld | Microsoft internal only. Determines whether the caller holds an upgradeable read lock.(Inherited from AsyncReaderWriterLock.) |
![]() | IsWriteLockHeld | Microsoft internal only. Determines whether the caller holds a write lock.(Inherited from AsyncReaderWriterLock.) |
![]() | SyncObject | Microsoft internal only. Gets the object used to synchronize access to the fields of this instance.(Inherited from AsyncReaderWriterLock.) |
| Name | Description | |
|---|---|---|
![]() | Complete() | Microsoft internal only. Causes new top-level lock requests to be rejected and the Completion task to transition to a completed state after any issued locks have been released.(Inherited from AsyncReaderWriterLock.) |
![]() | Equals(Object) | (Inherited from Object.) |
![]() | Finalize() | (Inherited from Object.) |
![]() | GetAggregateLockFlags() | Microsoft internal only. Returns the aggregate of the lock flags for all nested locks. |
![]() | GetHashCode() | (Inherited from Object.) |
![]() | GetResourceAsync(TMoniker, CancellationToken) | Microsoft internal only. Gets the resource with the specified moniker. |
![]() | GetType() | (Inherited from Object.) |
![]() | HideLocks() | Microsoft internal only. Prevents use or visibility of the caller's lock(s) until the returned value is disposed.(Inherited from AsyncReaderWriterLock.) |
![]() | LockStackContains(AsyncReaderWriterLock.LockFlags, AsyncReaderWriterLock.LockHandle) | Microsoft internal only. Checks whether the aggregated flags from all the locks in the lock stack satisfy the specified flag(s).(Inherited from AsyncReaderWriterLock.) |
![]() | MemberwiseClone() | (Inherited from Object.) |
![]() | OnBeforeExclusiveLockReleasedAsync() | Microsoft internal only. Occurs when the last write lock is about to be released.(Inherited from AsyncReaderWriterLock.) |
![]() | OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock.LockHandle) | Microsoft internal only. Occurs when any lock is being released.(Inherited from AsyncReaderWriterLock.) |
![]() | OnBeforeWriteLockReleased(Func<Task>) | Microsoft internal only. Registers a callback that is invoked when the outermost write lock held by the caller is about to be released.(Inherited from AsyncReaderWriterLock.) |
![]() | OnCriticalFailure(Exception) | Occurs when the lock detects an internal error or illegal usage pattern that indicates a serious flaw that should be immediately reported to the application, while possibly also stopping the process to avoid hangs or data corruption.(Inherited from AsyncReaderWriterLock.) |
![]() | OnCriticalFailure(String) | Occurs when the lock detects an internal error or illegal usage pattern that indicates a serious flaw that should be immediately reported to the application, while possibly also stopping the process to avoid hangs or data corruption.(Inherited from AsyncReaderWriterLock.) |
![]() | OnExclusiveLockReleasedAsync() | Microsoft internal only. Occurs after an exclusive lock is released but before anyone has a chance to enter the lock.(Overrides AsyncReaderWriterLock.OnExclusiveLockReleasedAsync().) |
![]() | OnUpgradeableReadLockReleased() | Microsoft internal only. Occurs when a top-level upgradeable read lock is released, leaving no remaining (write) lock.(Overrides AsyncReaderWriterLock.OnUpgradeableReadLockReleased().) |
![]() | PrepareResourceForConcurrentAccessAsync(TResource, CancellationToken) | Microsoft internal only. Prepares a resource for concurrent access. |
![]() | PrepareResourceForExclusiveAccessAsync(TResource, AsyncReaderWriterResourceLock<TMoniker, TResource>.LockFlags, CancellationToken) | Microsoft internal only. Prepares a resource for access by one thread. |
![]() | ReadLockAsync(CancellationToken) | Microsoft internal only. Gets a read lock, asynchronously awaiting for the lock if it is not immediately available. |
![]() | SetResourceAsAccessed(TResource) | Microsoft internal only. Marks a resource as having been retrieved under a lock. |
![]() | SetResourceAsAccessed(Func<TResource, Object, Boolean>, Object) | Microsoft internal only. |
![]() | ToString() | (Inherited from Object.) |
![]() | UpgradeableReadLockAsync(AsyncReaderWriterResourceLock<TMoniker, TResource>.LockFlags, CancellationToken) | Microsoft internal only. Obtains a read lock, asynchronously awaiting for the lock if it is not immediately available. |
![]() | UpgradeableReadLockAsync(CancellationToken) | Microsoft internal only. Obtains a read lock, asynchronously awaiting for the lock if it is not immediately available. |
![]() | UpgradeableReadLockAsync(AsyncReaderWriterLock.LockFlags, CancellationToken) | Microsoft internal only. Gets a read lock, asynchronously awaiting for the lock if it is not immediately available.(Inherited from AsyncReaderWriterLock.) |
![]() | WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker, TResource>.LockFlags, CancellationToken) | Microsoft internal only. |
![]() | WriteLockAsync(CancellationToken) | Microsoft internal only. |
![]() | WriteLockAsync(AsyncReaderWriterLock.LockFlags, CancellationToken) | Microsoft internal only. Gets a write lock, asynchronously awaiting for the lock if it is not immediately available.(Inherited from AsyncReaderWriterLock.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IHangReportContributor.GetHangReport() | Microsoft internal only. data for a hang report.(Inherited from AsyncReaderWriterLock.) |
This type is thread-safe for all members.





