Udostępnij za pośrednictwem


Klasa AsyncReaderWriterLock

Wyłącznie do użytku wewnętrznego firmy Microsoft.Zablokuj bez blokowania, który umożliwia równoczesny dostęp, wyłącznego dostępu lub współbieżnego dostępu, który może być uaktualniony do wyłącznego dostępu.

Hierarchia dziedziczenia

Object
  Microsoft.VisualStudio.Threading.AsyncReaderWriterLock
    Microsoft.VisualStudio.Threading.AsyncReaderWriterResourceLock<TMoniker, TResource>

Przestrzeń nazw:  Microsoft.VisualStudio.Threading
Zestaw:  Microsoft.VisualStudio.Threading (w Microsoft.VisualStudio.Threading.dll)

Składnia

'Deklaracja
Public Class AsyncReaderWriterLock _
    Implements IHangReportContributor
public class AsyncReaderWriterLock : IHangReportContributor
public ref class AsyncReaderWriterLock : IHangReportContributor
type AsyncReaderWriterLock =  
    class 
        interface IHangReportContributor 
    end
public class AsyncReaderWriterLock implements IHangReportContributor

Typ AsyncReaderWriterLock uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna AsyncReaderWriterLock() Wyłącznie do użytku wewnętrznego firmy Microsoft.Inicjuje nowe wystąpienie AsyncReaderWriterLock.
Metoda publiczna AsyncReaderWriterLock(Boolean) Wyłącznie do użytku wewnętrznego firmy Microsoft.Inicjuje nowe wystąpienie syncReaderWriterLock, określająca, czy wydać dodatkowe zasoby na szczegółowe informacje diagnostyczne.

Początek

Właściwości

  Nazwa Opis
Właściwość chroniona AmbientLock Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokady nałożonej przez wykonanie w kontekście wywołującego.
Właściwość chroniona CaptureDiagnostics Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy dodatkowe zasoby powinny być wydawane do zbierania informacji, które mogłyby być użyteczne w diagnozowaniu zakleszczenia.
Właściwość publiczna Completion Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera zadania, których ukończenie sygnały Ta blokada nie wyda blokad.
Właściwość publiczna IsAnyLockHeld Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy wszelkiego rodzaju blokady utrzymywane przez rozmówcę i można stosować bezpośrednio danym kontekście wywołującego.
Właściwość publiczna IsAnyPassiveLockHeld Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy wszelkiego rodzaju blokada odbywa się przez obiekt wywołujący nie biorąc pod uwagę zgodność blokada kontekst wywołującego.
Właściwość publiczna IsPassiveReadLockHeld Określa, czy blokady odczytu odbywa się przez obiekt wywołujący nie biorąc pod uwagę zgodność blokada kontekst wywołującego.
Właściwość publiczna IsPassiveUpgradeableReadLockHeld Określa, czy możliwość rozbudowy blokada odczytu odbywa się przez obiekt wywołujący nie biorąc pod uwagę zgodność blokada kontekst wywołującego.
Właściwość publiczna IsPassiveWriteLockHeld Określa, czy blokady zapisu odbywa się przez obiekt wywołujący nie biorąc pod uwagę zgodność blokada kontekst wywołującego.
Właściwość publiczna IsReadLockHeld Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy obiekt wywołujący posiada blokadę odczytu.
Właściwość publiczna IsUpgradeableReadLockHeld Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy obiekt wywołujący posiada możliwość rozbudowy blokada odczytu.
Właściwość publiczna IsWriteLockHeld Wyłącznie do użytku wewnętrznego firmy Microsoft.Określa, czy obiekt wywołujący posiada blokadę zapisu.
Właściwość chroniona SyncObject Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera obiekt używany do synchronizowania dostępu do pól tego wystąpienia.

Początek

Metody

  Nazwa Opis
Metoda publiczna Complete Wyłącznie do użytku wewnętrznego firmy Microsoft.Powoduje, że nowe żądania lock najwyższego poziomu należy odrzucić i Completion zadanie do przejścia do stanu wykonanego za wszystkie blokady wystawiony został zwolniony.
Metoda publiczna Equals Determines whether the specified object is equal to the current object. (Odziedziczone z Object).
Metoda chroniona Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Odziedziczone z Object).
Metoda chroniona GetAggregateLockFlags Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera wartość zagregowana lock flagi dla wszystkich blokad zagnieżdżonych.
Metoda publiczna GetHashCode Serves as the default hash function. (Odziedziczone z Object).
Metoda publiczna GetType Gets the Type of the current instance. (Odziedziczone z Object).
Metoda publiczna HideLocks Wyłącznie do użytku wewnętrznego firmy Microsoft.Uniemożliwia wykorzystanie lub widoczność zamkami wywołującego aż zwrócona wartość jest usuwany.
Metoda chroniona LockStackContains Wyłącznie do użytku wewnętrznego firmy Microsoft.Sprawdza, czy zagregowane flagi z wszystkich blokad w stosie blokada spełniają określony Flaga(i).
Metoda chroniona MemberwiseClone Creates a shallow copy of the current Object. (Odziedziczone z Object).
Metoda chroniona OnBeforeExclusiveLockReleasedAsync Wyłącznie do użytku wewnętrznego firmy Microsoft.Występuje, gdy ostatni blokady zapisu ma być uwolnione.
Metoda chroniona OnBeforeLockReleasedAsync Wyłącznie do użytku wewnętrznego firmy Microsoft.Występuje, gdy jakieś blokady jest wydany.
Metoda publiczna OnBeforeWriteLockReleased Wyłącznie do użytku wewnętrznego firmy Microsoft.Rejestruje wywołania zwrotnego, która jest wywoływana, gdy ma być uwolnione blokady zapisu peryferyjnych, posiadanych przez obiekt wywołujący.
Metoda chroniona OnCriticalFailure(Exception) Występuje, gdy blokada wykryje błąd wewnętrzny lub wzór nielegalne korzystanie, która wskazuje Poważna wada, który należy natychmiast zgłosić się do aplikacji, podczas gdy ewentualnie także zatrzymanie procesu, aby uniknąć zawiesza się lub uszkodzenie danych.
Metoda chroniona OnCriticalFailure(String) Występuje, gdy blokada wykryje błąd wewnętrzny lub wzór nielegalne korzystanie, która wskazuje Poważna wada, który należy natychmiast zgłosić się do aplikacji, podczas gdy ewentualnie także zatrzymanie procesu, aby uniknąć zawiesza się lub uszkodzenie danych.
Metoda chroniona OnExclusiveLockReleasedAsync Wyłącznie do użytku wewnętrznego firmy Microsoft.Występuje po zwolnieniu blokady wyłącznej, ale przed innymi blokada konsument ma możliwość wejścia blokady.
Metoda chroniona OnUpgradeableReadLockReleased Wyłącznie do użytku wewnętrznego firmy Microsoft.Występuje, gdy możliwość rozbudowy najwyższego poziomu blokada odczytu jest zwolniony, pozostawiając pozostałe blokada (zapisu).
Metoda publiczna ReadLockAsync Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna.
Metoda publiczna ToString Returns a string that represents the current object. (Odziedziczone z Object).
Metoda publiczna UpgradeableReadLockAsync(CancellationToken) Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna.
Metoda publiczna UpgradeableReadLockAsync(AsyncReaderWriterLock.LockFlags, CancellationToken) Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokadę odczytu, asynchronicznie oczekując na blokadę, jeśli nie jest natychmiast dostępna.
Metoda publiczna WriteLockAsync(CancellationToken) Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokady zapisu, asynchronicznie oczekujące na blokady, jeśli nie jest natychmiast dostępny.
Metoda publiczna WriteLockAsync(AsyncReaderWriterLock.LockFlags, CancellationToken) Wyłącznie do użytku wewnętrznego firmy Microsoft.Pobiera blokady zapisu, asynchronicznie oczekujące na blokady, jeśli nie jest natychmiast dostępny.

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna IHangReportContributor.GetHangReport Wewnętrznie w firmie Microsoft tylko. dane raportu zawiesić się.

Początek

Uwagi

Ta klasa jest niestandardowa awaitable zadania {LockReleaser}, ponieważ jest ustawić parametr CallContext danych w kontekście podmiotu otrzymującego blokady.Aby to zrobić, kod musi zostać wykonany na początku kontynuacji (czy to daje).

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Threading