Dil

AsyncReaderWriterResourceLock<TMoniker,TResource> Sınıf

Tanım

Eşzamanlı erişime, özel erişime veya özel erişime yükseltilebilirlikle eşzamanlı erişime izin veren, 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 takma adın türü.

TResource

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

Devralma
AsyncReaderWriterResourceLock<TMoniker,TResource>

Oluşturucular

Name Description
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

Name Description
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

Bu kilidin artık kilit vermeyeceğini belirten tamamlama sinyalleri olan 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 bir zaman gecikmesi alır.

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

Arayan tarafından herhangi bir tür kilidin tutulup tutulmadığını ve çağıranın bağlamı göz önüne alındığında hemen kullanılabileceğini belirten bir değer alır.

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

Çağıranın bağlamının kilit uyumluluğuna bakılmaksızın arayan tarafından herhangi bir tür kilit 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 arayan tarafından bir okuma kilidinin tutulup tutulmadığını belirten bir değer alır.

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

Çağıranın bağlamının kilit uyumluluğuna bakılmaksızın ç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 kilidi 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 kilidi barındırıp tutmadığı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ı gizleyen 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

Name Description
Complete()

Verilen kilitler yayımlandıktan sonra yeni üst düzey kilit isteklerinin Completion reddedilmesine ve 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ükseltilebilirlikle eşzamanlı erişime izin veren, 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 verilere 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 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 alabilmesi TaskScheduler 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)

Eşzamanlı erişim için bir kaynak 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 sonunda 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 geçersiz kullanım deseni algıladığında çağrılır ve/veya kilitlenmeleri veya veri bozulmalarını önlemek için işlemi devre dışı bırakır.

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

Kilit, uygulamaya hemen bildirilmesi gereken ciddi bir kusuru belirten bir iç hata veya geçersiz kullanım deseni algıladığında çağrılır ve/veya kilitlenmeleri veya veri bozulmalarını önlemek için işlemi devre dışı bırakı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 iş parçacığı tarafından erişim için bir kaynak hazırlar.

ReadLockAsync(CancellationToken)

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

SetAllResourcesToUnknownState()

Bilinmeyen bir durumda dikkate alınması gereken tüm kaynakları ayarlar.

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

Bazı koşulları karşılarsa, yüklenen kaynakları 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ılabilir değilse, zaman uyumsuz olarak kilit için bekleyen yükseltilebilir bir okuma kilidi alır.

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

Hemen kullanılabilir değilse, 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ılabilir değilse, zaman uyumsuz olarak kilit için bekleyen bir yazma kilidi alır.

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

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

WriteLockAsync(CancellationToken)

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

Belirtik Arabirim Kullanımları

Name Description
IHangReportContributor.GetHangReport()

Askıda kalma raporu için verilere 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ığı güvenlidir.