Aracılığıyla paylaş


AsyncReaderWriterResourceLock<TMoniker,TResource> Sınıf

Tanım

Eşzamanlı erişime, özel erişime veya özel erişime yükseltilebilirlik ile eşzamanlı erişime izin veren ve eşzamanlı veya özel erişim için hazırlanması gereken kaynaklar için özel izinler veren engelleyici olmayan bir kilit.

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

Tür Parametreleri

TMoniker

Bir kaynağı tanımlayan bilinen adın türü.

TResource

Bu kilit tarafından erişim için verilen kaynağın türü.

Devralma
AsyncReaderWriterResourceLock<TMoniker,TResource>

Oluşturucular

AsyncReaderWriterResourceLock<TMoniker,TResource>()

AsyncReaderWriterResourceLock<TMoniker,TResource> sınıfının yeni bir örneğini başlatır.

AsyncReaderWriterResourceLock<TMoniker,TResource>(Boolean)

AsyncReaderWriterResourceLock<TMoniker,TResource> sınıfının yeni bir örneğini başlatır.

AsyncReaderWriterResourceLock<TMoniker,TResource>(JoinableTaskContext, Boolean)

AsyncReaderWriterResourceLock<TMoniker,TResource> sınıfının yeni bir örneğini başlatır.

Özellikler

AmbientLock

Çağıranın yürütme bağlamı tarafından tutulan kilidi alır.

(Devralındığı yer: AsyncReaderWriterLock)
CanCurrentThreadHoldActiveLock

Geçerli iş parçacığının etkin bir kilidi tutmasına izin verilip verilmeyeceğini belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
CaptureDiagnostics

Kilitlenmeleri tanılamak için yararlı olabilecek bilgileri toplamak için ek kaynakların harcanıp harcanmayacağını belirten bir değer alır veya ayarlar.

(Devralındığı yer: AsyncReaderWriterLock)
Completion

Tamamlanma sinyalleri bu kilidin artık kilit vermeyeceğini belirten bir görev alır.

(Devralındığı yer: AsyncReaderWriterLock)
DeadlockCheckTimeout

Bekleyen yazıcı kilidinin ve okuyucu kilitlerinin kilitlenme oluşturup oluşturmadığını denetlemek için zaman gecikmesi alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsAnyLockHeld

Çağıran tarafından herhangi bir tür kilidin tutulup tutulmadığını belirten bir değer alır ve çağıranın bağlamı verildiğinde hemen kullanılabilir.

(Devralındığı yer: AsyncReaderWriterLock)
IsAnyPassiveLockHeld

Çağıranın bağlamının kilit uyumluluğuna bakılmaksızın çağıran tarafından herhangi bir tür kilidin tutulup tutulmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsPassiveReadLockHeld

Çağıranın bağlamının kilit uyumluluğuna bakılmaksızın bir okuma kilidinin arayan tarafından tutulup tutulmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsPassiveUpgradeableReadLockHeld

Çağıranın bağlamının kilit uyumluluğu dikkate alınmadan çağıran tarafından yükseltilebilir bir okuma kilidinin tutulup tutulmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsPassiveWriteLockHeld

Çağıranın bağlamının kilit uyumluluğuna bakılmaksızın çağıran tarafından bir yazma kilidinin tutulup tutulmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsReadLockHeld

Çağıranın okuma kilidi barındırıp tutmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsUnsupportedSynchronizationContext

Geçerli SynchronizationContext öğesinin bu kilit tarafından desteklenmeyen bir değer olup olmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsUpgradeableReadLockHeld

Çağıranın yükseltilebilir bir okuma kilidine sahip olup olmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
IsWriteLockHeld

Çağıranın yazma kilidi barındırıp tutmadığını belirten bir değer alır.

(Devralındığı yer: AsyncReaderWriterLock)
NoMessagePumpSynchronizationContext

Uygulandığında, çağıran iş parçacığının zaman uyumlu blokları sırasında çalışabilecek tüm ileti pompalarını bastıran bir SynchronizationContext alır.

(Devralındığı yer: AsyncReaderWriterLock)
SyncObject

Bu örneğin alanlarına erişimi eşitlemek için kullanılan nesneyi alır.

(Devralındığı yer: AsyncReaderWriterLock)

Yöntemler

Complete()

Yeni üst düzey kilit isteklerinin reddedilmesine ve Completion verilen kilitler yayımlandıktan sonra görevin tamamlanmış duruma geçmesine neden olur.

(Devralındığı yer: AsyncReaderWriterLock)
Dispose()

Eşzamanlı erişime, özel erişime veya özel erişime yükseltilebilirlik ile eşzamanlı erişime izin veren ve eşzamanlı veya özel erişim için hazırlanması gereken kaynaklar için özel izinler veren engelleyici olmayan bir kilit.

(Devralındığı yer: AsyncReaderWriterLock)
Dispose(Boolean)

Bu örnek tarafından tutulan yönetilen ve yönetilmeyen kaynakları atar.

(Devralındığı yer: AsyncReaderWriterLock)
GetAggregateLockFlags()

Tüm iç içe kilitler için kilit bayraklarının toplamını döndürür.

GetHangReport()

Askıda kalma raporu için veri katkıda bulunur.

(Devralındığı yer: AsyncReaderWriterLock)
GetResourceAsync(TMoniker, CancellationToken)

Belirtilen ada sahip kaynağı alır.

GetTaskSchedulerForReadLockRequest()

Kilit alınırken devamlılığı yürütmek için görev zamanlayıcısını alın. AsyncReaderWriterLock, özel kilitleri işlemek için özel SynchronizationContext bir özellik kullanır ve sağlanan görev zamanlayıcıyı yoksayar, bu nedenle bu yalnızca okuma kilidi senaryosunda kullanılır. Bu yöntem, geçerli yürütme bağlamını temel alarak devam TaskScheduler edebilmesi için okuma kilidini beklemek için yürütme bağlamı içinde çağrılır. Not: Görev zamanlayıcı yalnızca kilit daha sonra verildiğinde kullanılır. True döndürdüğünde CanCurrentThreadHoldActiveLock kilit hemen verilirse, yoksayılır.

(Devralındığı yer: AsyncReaderWriterLock)
GetTaskSchedulerToPrepareResourcesForConcurrentAccess(TResource)

Bir kaynağı eşzamanlı erişim için hazırlamak için bir görev zamanlayıcı alır.

HideLocks()

Döndürülen değer atılana kadar çağıranın kilitlerinin kullanımını veya görünürlüğünü engeller.

(Devralındığı yer: AsyncReaderWriterLock)
LockStackContains(AsyncReaderWriterLock+LockFlags, AsyncReaderWriterLock+LockHandle)

Kilit yığınındaki tüm kilitlerden toplanan bayrakların belirtilen bayrakları karşılayıp karşılamadığını denetler.

(Devralındığı yer: AsyncReaderWriterLock)
OnBeforeExclusiveLockReleasedAsync()

Son yazma kilidi serbest bırakılmak üzereyken tetiklenir.

(Devralındığı yer: AsyncReaderWriterLock)
OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock+LockHandle)

Herhangi bir kilit serbest bırakıldığında tetiklenir.

(Devralındığı yer: AsyncReaderWriterLock)
OnBeforeWriteLockReleased(Func<Task>)

Çağıranın tuttuğu yazma kilidi nihai olarak serbest bırakılmak üzere olduğunda çağrılacak bir geri çağırma kaydeder (en dıştaki yazma kilidi).

(Devralındığı yer: AsyncReaderWriterLock)
OnCriticalFailure(Exception)

Kilit, uygulamaya hemen bildirilmesi gereken ciddi bir kusuru belirten bir iç hata veya yasa dışı kullanım deseni algıladığında çağrılır ve/veya kilitlenmeleri veya veri bozulmasını önlemek için işlemi devre dışı bırakmalıdır.

(Devralındığı yer: AsyncReaderWriterLock)
OnCriticalFailure(String)

Kilit, uygulamaya hemen bildirilmesi gereken ciddi bir kusuru belirten bir iç hata veya yasa dışı kullanım deseni algıladığında çağrılır ve/veya kilitlenmeleri veya veri bozulmasını önlemek için işlemi devre dışı bırakmalıdır.

(Devralındığı yer: AsyncReaderWriterLock)
OnExclusiveLockReleasedAsync()

Özel bir kilit serbest bırakıldıktan sonra ancak herhangi birinin kilidi girme şansı olmadan önce çağrılır.

OnUpgradeableReadLockReleased()

En üst düzey yükseltilebilir okuma kilidi serbest bırakıldığında çağrılır ve kalan (yazma) kilidi kalmaz.

PrepareResourceForConcurrentAccessAsync(TResource, CancellationToken)

Bir kaynağı eşzamanlı erişim için hazırlar.

PrepareResourceForExclusiveAccessAsync(TResource, AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken)

Bir kaynağı bir iş parçacığı tarafından erişim için hazırlar.

ReadLockAsync(CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir okuma kilidi alır.

SetAllResourcesToUnknownState()

Tüm kaynakları bilinmeyen bir durumda dikkate alınacak şekilde ayarlar.

SetResourceAsAccessed(Func<TResource,Object,Boolean>, Object)

Bazı koşulları karşılarsa, yüklenen tüm kaynakları bir kilit altında alınmış olarak işaretler.

SetResourceAsAccessed(TResource)

Bir kaynağı kilit altında alınmış olarak işaretler.

UpgradeableReadLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir okuma kilidi alır.

(Devralındığı yer: AsyncReaderWriterLock)
UpgradeableReadLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir okuma kilidi alır.

UpgradeableReadLockAsync(CancellationToken)

Hemen kullanılabilir değilse, zaman uyumsuz olarak kilit için bekleyen yükseltilebilir bir okuma kilidi alır.

WriteLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir yazma kilidi alır.

(Devralındığı yer: AsyncReaderWriterLock)
WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir yazma kilidi alır.

WriteLockAsync(CancellationToken)

Hemen kullanılamıyorsa, zaman uyumsuz olarak kilit için bekleyen bir yazma kilidi alır.

Belirtik Arabirim Kullanımları

IHangReportContributor.GetHangReport()

Askıda kalma raporu için veri katkıda bulunur.

(Devralındığı yer: AsyncReaderWriterLock)

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu tür, tüm üyeler için iş parçacığı açısından güvenlidir.