ReaderWriterLockSlim.CurrentReadCount Eigenschap

Definitie

Hiermee wordt het totale aantal unieke threads opgehaald dat de vergrendeling in de leesmodus heeft ingevoerd.

public:
 property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer

Waarde van eigenschap

Het aantal unieke threads dat de vergrendeling in de leesmodus heeft ingevoerd.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de CurrentReadCount eigenschap gebruikt om een vermelding in een gebeurtenislogboek te genereren als het aantal threads in de leesmodus een drempelwaarde overschrijdt.

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

Opmerkingen

Een thread wordt slechts één keer geteld, zelfs als de vergrendeling recursie toestaat en de thread meerdere keren de leesmodus heeft opgegeven.

Gebruik deze eigenschap alleen voor foutopsporing, profilering en logboekregistratie, en niet om het gedrag van een algoritme te beheren. De resultaten kunnen worden gewijzigd zodra ze zijn berekend. Daarom is het niet veilig om beslissingen te nemen op basis van deze eigenschap.

Van toepassing op