ReaderWriterLockSlim.CurrentReadCount Tulajdonság

Definíció

Lekéri azoknak az egyedi szálaknak a teljes számát, amelyek olvasási módban léptek be a zárolásba.

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

Tulajdonság értéke

Azoknak az egyedi szálaknak a száma, amelyek olvasási módban léptek be a zárolásba.

Példák

Az alábbi példa bemutatja, hogyan hozhat létre eseménynapló-bejegyzést a CurrentReadCount tulajdonság használatával, ha az olvasási módban lévő szálak száma meghaladja a küszöbértéket.

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

Megjegyzések

A szál csak egyszer van megszámolva, még akkor is, ha a zárolás lehetővé teszi a rekurziót, és a szál többször is belépett olvasási módba.

Ezt a tulajdonságot csak hibakeresési, profilkészítési és naplózási célokra használhatja, és nem szabályozhatja az algoritmusok viselkedését. Az eredmények a számításuk után azonnal változhatnak. Ezért nem biztonságos, hogy ezen a tulajdonságon alapuló döntéseket hozzon.

A következőre érvényes: