ReaderWriterLockSlim.CurrentReadCount Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Gesamtzahl von eindeutigen Threads ab, denen die Sperre im Lesemodus zugewiesen ist.
public:
property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer
Eigenschaftswert
Die Anzahl von eindeutigen Threads, denen die Sperre im Lesemodus zugewiesen ist.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Die CurrentReadCount Eigenschaft zum Generieren eines Ereignisprotokolleintrags verwendet wird, wenn die Anzahl der Threads im Lesemodus einen Schwellenwert überschreitet.
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
Hinweise
Ein Thread wird nur einmal gezählt, auch wenn die Sperre Rekursion zulässt und der Thread mehrmals den Lesemodus eingegeben hat.
Verwenden Sie diese Eigenschaft nur für Debugging-, Profilerstellungs- und Protokollierungszwecke, und nicht zum Steuern des Verhaltens eines Algorithmus. Die Ergebnisse können sich ändern, sobald sie berechnet wurden. Daher ist es nicht sicher, Entscheidungen basierend auf dieser Eigenschaft zu treffen.