ReaderWriterLockSlim.CurrentReadCount Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Okuma modunda kilide giren benzersiz iş parçacıklarının toplam sayısını alır.
public:
property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer
Özellik Değeri
Okuma modunda kilide giren benzersiz iş parçacıklarının sayısı.
Örnekler
Aşağıdaki örnekte, okuma modunda iş CurrentReadCount parçacığı sayısı eşiği aşarsa olay günlüğü girdisi oluşturmak için özelliğinin nasıl kullanılacağı gösterilmektedir.
using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
Using rwLock As New ReaderWriterLockSlim()
if (!EventLog.SourceExists("MySource"))
{
EventLog.CreateEventSource("MySource", "MyPerformanceLog");
}
EventLog performanceLog = new EventLog();
performanceLog.Source = "MySource";
If Not EventLog.SourceExists("MySource") Then
EventLog.CreateEventSource("MySource", "MyPerformanceLog")
End If
Dim performanceLog As New EventLog()
performanceLog.Source = "MySource"
int readCt = rwLock.CurrentReadCount;
if (readCt > READ_THRESHOLD)
{
performanceLog.WriteEntry(String.Format(
"{0} reader threads; exceeds recommended maximum.", readCt));
}
Dim readCt As Integer = rwLock.CurrentReadCount
If readCt > READ_THRESHOLD Then
performanceLog.WriteEntry(String.Format( _
"{0} reader threads; exceeds recommended maximum.", readCt))
End If
Açıklamalar
Kilit özyineleme izin veriyor olsa ve iş parçacığı birden çok kez okuma moduna geçse bile, iş parçacığı yalnızca bir kez sayılır.
Bu özelliği yalnızca hata ayıklama, profil oluşturma ve günlüğe kaydetme amacıyla kullanın ve algoritmanın davranışını denetlemeyin. Sonuçlar hesaplandıklarında değişebilir. Bu nedenle, bu özelliğe dayalı kararlar almak güvenli değildir.