ReaderWriterLockSlim.CurrentReadCount Vlastnost

Definice

Získá celkový počet jedinečných vláken, které zadaly zámek v režimu čtení.

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

Hodnota vlastnosti

Int32

Počet jedinečných vláken, která zadala zámek v režimu čtení.

Příklady

Následující příklad ukazuje, jak použít CurrentReadCount vlastnost k vygenerování položky protokolu událostí, pokud počet vláken v režimu čtení překračuje prahovou hodnotu.

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

Poznámky

Vlákno se počítá pouze jednou, i když zámek umožňuje rekurzi a vlákno několikrát vstoupilo do režimu čtení.

Tuto vlastnost použijte pouze pro účely ladění, profilace a protokolování a ne k řízení chování algoritmu. Výsledky se můžou změnit hned po výpočtu. Proto není bezpečné rozhodovat na základě této vlastnosti.

Platí pro