AsyncReaderWriterResourceLock<TMoniker,TResource> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Blokada nieblokująca, która umożliwia współbieżny dostęp, wyłączny dostęp lub współbieżność z możliwościami uaktualniania do wyłącznego dostępu, dzięki czemu specjalne uprawnienia dla zasobów, które muszą być przygotowane na dostęp współbieżny lub wyłączny.
generic <typename TMoniker, typename TResource>
where TResource : classpublic ref class AsyncReaderWriterResourceLock abstract : Microsoft::VisualStudio::Threading::AsyncReaderWriterLock
public abstract class AsyncReaderWriterResourceLock<TMoniker,TResource> : Microsoft.VisualStudio.Threading.AsyncReaderWriterLock where TResource : class
type AsyncReaderWriterResourceLock<'Moniker, 'Resource (requires 'Resource : null)> = class
inherit AsyncReaderWriterLock
Public MustInherit Class AsyncReaderWriterResourceLock(Of TMoniker, TResource)
Inherits AsyncReaderWriterLock
Parametry typu
- TMoniker
Typ moniker identyfikujący zasób.
- TResource
Typ zasobu wystawionego na potrzeby dostępu przez tę blokadę.
- Dziedziczenie
Konstruktory
AsyncReaderWriterResourceLock<TMoniker,TResource>() |
Inicjuje nowe wystąpienie klasy AsyncReaderWriterResourceLock<TMoniker,TResource>. |
AsyncReaderWriterResourceLock<TMoniker,TResource>(Boolean) |
Inicjuje nowe wystąpienie klasy AsyncReaderWriterResourceLock<TMoniker,TResource>. |
AsyncReaderWriterResourceLock<TMoniker,TResource>(JoinableTaskContext, Boolean) |
Inicjuje nowe wystąpienie klasy AsyncReaderWriterResourceLock<TMoniker,TResource>. |
Właściwości
AmbientLock |
Pobiera blokadę przechowywaną przez kontekst wykonywania obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
CanCurrentThreadHoldActiveLock |
Pobiera wartość wskazującą, czy bieżący wątek może przechowywać aktywną blokadę. (Odziedziczone po AsyncReaderWriterLock) |
CaptureDiagnostics |
Pobiera lub ustawia wartość wskazującą, czy należy wydać dodatkowe zasoby w celu zbierania informacji, które byłyby przydatne w diagnozowaniu zakleszczeń itp. (Odziedziczone po AsyncReaderWriterLock) |
Completion |
Pobiera zadanie, którego ukończenie sygnalizuje, że ta blokada nie będzie już wystawiać blokad. (Odziedziczone po AsyncReaderWriterLock) |
DeadlockCheckTimeout |
Pobiera opóźnienie czasu, aby sprawdzić, czy oczekująca blokada zapisywania i czytnik blokuje zakleszczenie. (Odziedziczone po AsyncReaderWriterLock) |
IsAnyLockHeld |
Pobiera wartość wskazującą, czy jakikolwiek rodzaj blokady jest przechowywany przez obiekt wywołujący i może być natychmiast używany przy użyciu kontekstu obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
IsAnyPassiveLockHeld |
Pobiera wartość wskazującą, czy jakikolwiek rodzaj blokady jest przechowywany przez obiekt wywołujący bez względu na zgodność blokady kontekstu obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
IsPassiveReadLockHeld |
Pobiera wartość wskazującą, czy blokada odczytu jest przechowywana przez obiekt wywołujący bez względu na zgodność blokady kontekstu obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
IsPassiveUpgradeableReadLockHeld |
Pobiera wartość wskazującą, czy blokada odczytu z możliwością uaktualnienia jest przechowywana przez obiekt wywołujący bez względu na zgodność blokady kontekstu obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
IsPassiveWriteLockHeld |
Pobiera wartość wskazującą, czy blokada zapisu jest przechowywana przez obiekt wywołujący bez względu na zgodność blokady kontekstu obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
IsReadLockHeld |
Pobiera wartość wskazującą, czy obiekt wywołujący przechowuje blokadę odczytu. (Odziedziczone po AsyncReaderWriterLock) |
IsUnsupportedSynchronizationContext |
Pobiera wartość wskazującą, czy bieżący element SynchronizationContext jest taki, który nie jest obsługiwany przez tę blokadę. (Odziedziczone po AsyncReaderWriterLock) |
IsUpgradeableReadLockHeld |
Pobiera wartość wskazującą, czy obiekt wywołujący przechowuje blokadę odczytu z możliwością uaktualnienia. (Odziedziczone po AsyncReaderWriterLock) |
IsWriteLockHeld |
Pobiera wartość wskazującą, czy obiekt wywołujący przechowuje blokadę zapisu. (Odziedziczone po AsyncReaderWriterLock) |
NoMessagePumpSynchronizationContext |
SynchronizationContext Pobiera, który po zastosowaniu pomija wszelkie pompy komunikatów, które mogą być uruchamiane podczas synchronicznych bloków wątku wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
SyncObject |
Pobiera obiekt używany do synchronizowania dostępu do pól tego wystąpienia. (Odziedziczone po AsyncReaderWriterLock) |
Metody
Complete() |
Powoduje odrzucenie nowych żądań blokad najwyższego poziomu, a Completion zadanie przejścia do stanu ukończonego po zwolnieniu wszystkich wystawionych blokad. (Odziedziczone po AsyncReaderWriterLock) |
Dispose() |
Blokada nieblokująca, która umożliwia współbieżny dostęp, wyłączny dostęp lub współbieżność z możliwościami uaktualniania do wyłącznego dostępu, dzięki czemu specjalne uprawnienia dla zasobów, które muszą być przygotowane na dostęp współbieżny lub wyłączny. (Odziedziczone po AsyncReaderWriterLock) |
Dispose(Boolean) |
Usuwa zarządzane i niezarządzane zasoby przechowywane przez to wystąpienie. (Odziedziczone po AsyncReaderWriterLock) |
GetAggregateLockFlags() |
Zwraca agregację flag blokady dla wszystkich zagnieżdżonych blokad. |
GetHangReport() |
Współtworzy dane raportu zawieszenia. (Odziedziczone po AsyncReaderWriterLock) |
GetResourceAsync(TMoniker, CancellationToken) |
Pobiera zasób z określonym monikerem. |
GetTaskSchedulerForReadLockRequest() |
Pobierz harmonogram zadań, aby wykonać kontynuację po uzyskaniu blokady. AsyncReaderWriterLock używa specjalnej SynchronizationContext funkcji do obsługi blokad wyłącznych i zignoruje podany harmonogram zadań, więc jest on używany tylko w scenariuszu blokady odczytu. Ta metoda jest wywoływana w kontekście wykonywania, aby czekać na blokadę odczytu, aby mogła być pobierana TaskScheduler na podstawie bieżącego kontekstu wykonywania. Uwaga: harmonogram zadań jest używany tylko wtedy, gdy blokada zostanie wydana później. Jeśli blokada zostanie wystawiona natychmiast po CanCurrentThreadHoldActiveLock zwracaniu wartości true, zostanie zignorowana. (Odziedziczone po AsyncReaderWriterLock) |
GetTaskSchedulerToPrepareResourcesForConcurrentAccess(TResource) |
Pobiera harmonogram zadań, aby przygotować zasób na potrzeby dostępu współbieżnego. |
HideLocks() |
Zapobiega używaniu lub widoczności blokad obiektu wywołującego, dopóki zwrócona wartość nie zostanie usunięta. (Odziedziczone po AsyncReaderWriterLock) |
LockStackContains(AsyncReaderWriterLock+LockFlags, AsyncReaderWriterLock+LockHandle) |
Sprawdza, czy zagregowane flagi ze wszystkich blokad w stosie blokady spełniają określone flagi. (Odziedziczone po AsyncReaderWriterLock) |
OnBeforeExclusiveLockReleasedAsync() |
Wyzwolony, gdy ostatnia blokada zapisu ma zostać zwolniona. (Odziedziczone po AsyncReaderWriterLock) |
OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock+LockHandle) |
Wyzwolony po zwolnieniu blokady. (Odziedziczone po AsyncReaderWriterLock) |
OnBeforeWriteLockReleased(Func<Task>) |
Rejestruje wywołanie zwrotne, które ma być wywoływane, gdy blokada zapisu przechowywana przez obiekt wywołujący ma zostać ostatecznie zwolniona (najbardziej zewnętrzna blokada zapisu). (Odziedziczone po AsyncReaderWriterLock) |
OnCriticalFailure(Exception) |
Wywoływane po wykryciu błędu wewnętrznego lub nielegalnego wzorca użycia, który wskazuje na poważną wadę, która powinna zostać natychmiast zgłoszona do aplikacji i/lub obniżyć proces, aby uniknąć zawieszenia lub uszkodzenia danych. (Odziedziczone po AsyncReaderWriterLock) |
OnCriticalFailure(String) |
Wywoływane po wykryciu błędu wewnętrznego lub nielegalnego wzorca użycia, który wskazuje na poważną wadę, która powinna zostać natychmiast zgłoszona do aplikacji i/lub obniżyć proces, aby uniknąć zawieszenia lub uszkodzenia danych. (Odziedziczone po AsyncReaderWriterLock) |
OnExclusiveLockReleasedAsync() |
Wywoływane po zwolnieniu blokady wyłącznej, ale zanim ktoś ma szansę wejść do blokady. |
OnUpgradeableReadLockReleased() |
Wywoływane po zwolnieniu blokady odczytu z możliwością uaktualnienia najwyższego poziomu, nie pozostawiając pozostałej blokady (zapisu). |
PrepareResourceForConcurrentAccessAsync(TResource, CancellationToken) |
Przygotowuje zasób na potrzeby dostępu współbieżnego. |
PrepareResourceForExclusiveAccessAsync(TResource, AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Przygotowuje zasób do uzyskiwania dostępu przez jeden wątek. |
ReadLockAsync(CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. |
SetAllResourcesToUnknownState() |
Ustawia wszystkie zasoby, które mają być brane pod uwagę w nieznanym stanie. |
SetResourceAsAccessed(Func<TResource,Object,Boolean>, Object) |
Oznacza wszystkie załadowane zasoby jako pobrane w ramach blokady, jeśli spełniają one niektóre predykat. |
SetResourceAsAccessed(TResource) |
Oznacza zasób jako pobrany w ramach blokady. |
UpgradeableReadLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. (Odziedziczone po AsyncReaderWriterLock) |
UpgradeableReadLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. |
UpgradeableReadLockAsync(CancellationToken) |
Uzyskuje blokadę odczytu z możliwością uaktualnienia, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. |
WriteLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. (Odziedziczone po AsyncReaderWriterLock) |
WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. |
WriteLockAsync(CancellationToken) |
Uzyskuje blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna. |
Jawne implementacje interfejsu
IHangReportContributor.GetHangReport() |
Współtworzy dane raportu zawieszenia. (Odziedziczone po AsyncReaderWriterLock) |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo dla wszystkich elementów członkowskich.