ReaderWriterLockSlim.CurrentReadCount Propriété

Définition

Obtient le nombre total de threads uniques qui ont entré le verrou en mode lecture.

C#
public int CurrentReadCount { get; }

Valeur de propriété

Int32

Nombre de threads uniques qui ont entré le verrou en mode lecture.

Exemples

L’exemple suivant montre comment utiliser la CurrentReadCount propriété pour générer une entrée de journal des événements si le nombre de threads en mode lecture dépasse un seuil.

C#
using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
C#
if (!EventLog.SourceExists("MySource"))
{
    EventLog.CreateEventSource("MySource", "MyPerformanceLog");
}
EventLog performanceLog = new EventLog();
performanceLog.Source = "MySource";
C#
int readCt = rwLock.CurrentReadCount;
if (readCt > READ_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} reader threads; exceeds recommended maximum.", readCt));
}

Remarques

Un thread n’est compté qu’une seule fois, même si le verrou autorise la récursivité et que le thread est entré en mode lecture plusieurs fois.

Utilisez cette propriété uniquement à des fins de débogage, de profilage et de journalisation, et non pour contrôler le comportement d’un algorithme. Les résultats peuvent changer dès qu’ils ont été calculés. Par conséquent, il n’est pas sûr de prendre des décisions basées sur cette propriété.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0