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 pseudonimu identyfikującego zasób.
- TResource
Typ zasobu wystawionego na potrzeby dostępu przez tę blokadę.
- Dziedziczenie
Konstruktory
| Nazwa | Opis |
|---|---|
| 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
| Nazwa | Opis |
|---|---|
| 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 podczas diagnozowania 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 w celu sprawdzenia, czy oczekująca blokada modułu zapisywania i czytnik blokuje zakleszczenie. (Odziedziczone po AsyncReaderWriterLock) |
| IsAnyLockHeld |
Pobiera wartość wskazującą, czy jakikolwiek rodzaj blokady jest utrzymywany przez obiekt wywołujący i może być natychmiast używany, biorąc pod uwagę kontekst obiektu wywołującego. (Odziedziczone po AsyncReaderWriterLock) |
| IsAnyPassiveLockHeld |
Pobiera wartość wskazującą, czy jakikolwiek rodzaj blokady jest utrzymywany 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żąca wartość SynchronizationContext jest taka, która nie jest obsługiwana 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 |
Pobiera element SynchronizationContext , który po zastosowaniu pomija wszystkie 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
| Nazwa | Opis |
|---|---|
| Complete() |
Powoduje odrzucenie nowych żądań blokowania najwyższego poziomu i Completion przejście zadania do stanu ukończenia 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 dla raportu zawieszenia. (Odziedziczone po AsyncReaderWriterLock) |
| GetResourceAsync(TMoniker, CancellationToken) |
Pobiera zasób z określonym pseudonimem. |
| 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ń, dlatego jest używany tylko w scenariuszu blokady odczytu. Ta metoda jest wywoływana w kontekście wykonywania, aby czekać na blokadę odczytu, dzięki czemu może 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 jest wystawiana natychmiast po CanCurrentThreadHoldActiveLock zwracaniu wartości true, zostanie ona zignorowana. (Odziedziczone po AsyncReaderWriterLock) |
| GetTaskSchedulerToPrepareResourcesForConcurrentAccess(TResource) |
Pobiera harmonogram zadań w celu przygotowania zasobu do współbieżnego dostępu. |
| HideLocks() |
Zapobiega używaniu lub widoczności blokad obiektu wywołującego do momentu usunięcia zwróconej wartości. (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 ma zostać zwolniona ostatnia blokada zapisu. (Odziedziczone po AsyncReaderWriterLock) |
| OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock+LockHandle) |
Wyzwolony, gdy jest zwalniana blokada. (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ływana, gdy blokada wykryje błąd wewnętrzny lub nielegalny wzorzec 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ływana, gdy blokada wykryje błąd wewnętrzny lub nielegalny wzorzec 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ływana 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 pewne predykat. |
| SetResourceAsAccessed(TResource) |
Oznacza zasób jako pobrany w ramach blokady. |
| UpgradeableReadLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
Uzyskuje blokadę odczytu z możliwością uaktualnienia, 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ę zapisu, asynchronicznie oczekującą na blokadę, jeśli nie jest natychmiast dostępna. (Odziedziczone po AsyncReaderWriterLock) |
| WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Uzyskuje blokadę zapisu, asynchronicznie oczekującą na blokadę, jeśli nie jest natychmiast dostępna. |
| WriteLockAsync(CancellationToken) |
Uzyskuje blokadę zapisu, asynchronicznie oczekującą na blokadę, jeśli nie jest natychmiast dostępna. |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| IHangReportContributor.GetHangReport() |
Współtworzy dane dla raportu zawieszenia. (Odziedziczone po AsyncReaderWriterLock) |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo dla wszystkich elementów członkowskich.