ReaderWriterLockSlim.CurrentReadCount Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o número total de threads exclusivos que inseriram o bloqueio no modo de leitura.
public:
property int CurrentReadCount { int get(); };
public int CurrentReadCount { get; }
member this.CurrentReadCount : int
Public ReadOnly Property CurrentReadCount As Integer
Valor da propriedade
O número de threads exclusivos que inseriram o bloqueio no modo de leitura.
Exemplos
O exemplo a seguir mostra como usar a CurrentReadCount propriedade para gerar uma entrada de log de eventos se o número de threads no modo de leitura exceder um limite.
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
Comentários
Um thread é contado apenas uma vez, mesmo que o bloqueio permita a recursão e o thread tenha entrado no modo de leitura várias vezes.
Use essa propriedade somente para fins de depuração, criação de perfil e registro em log e não para controlar o comportamento de um algoritmo. Os resultados podem ser alterados assim que forem calculados. Portanto, não é seguro tomar decisões com base nessa propriedade.