ReaderWriterLockSlim.CurrentReadCount Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il numero complessivo di thread univoci per i quali è stato attivato il blocco in modalità lettura.
public:
property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer
Valore della proprietà
Numero di thread univoci per i quali è stato attivato il blocco in modalità lettura.
Esempio
Nell'esempio seguente viene illustrato come usare la CurrentReadCount proprietà per generare una voce del registro eventi se il numero di thread in modalità di lettura supera una soglia.
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
Commenti
Un thread viene conteggiato una sola volta, anche se il blocco consente la ricorsione e il thread ha immesso più volte la modalità di lettura.
Usare questa proprietà solo per il debug, la profilatura e la registrazione e non per controllare il comportamento di un algoritmo. I risultati possono cambiare non appena sono stati calcolati. Pertanto, non è sicuro prendere decisioni in base a questa proprietà.