ReaderWriterLockSlim.CurrentReadCount Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el número total de subprocesos únicos que han entrado en el bloqueo en modo de lectura.
public:
property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer
Valor de propiedad
Número de subprocesos únicos que han entrado en el bloqueo en modo de lectura.
Ejemplos
En el ejemplo siguiente se muestra cómo usar la CurrentReadCount propiedad para generar una entrada de registro de eventos si el número de subprocesos en modo de lectura supera un umbral.
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
Comentarios
Un subproceso solo se cuenta una vez, incluso si el bloqueo permite la recursividad y el subproceso ha entrado en modo de lectura varias veces.
Use esta propiedad solo para fines de depuración, generación de perfiles y registro, y no para controlar el comportamiento de un algoritmo. Los resultados pueden cambiar tan pronto como se hayan calculado. Por lo tanto, no es seguro tomar decisiones basadas en esta propiedad.