Aracılığıyla paylaş


ReaderWriterLockSlim.CurrentReadCount Özellik

Tanım

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

Int32

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.

Şunlara uygulanır