ReaderWriterLockSlim.WaitingUpgradeCount Property

 

Gets the total number of threads that are waiting to enter the lock in upgradeable mode.

Namespace:   System.Threading
Assembly:  System.Core (in System.Core.dll)

public int WaitingUpgradeCount { get; }

Property Value

Type: System.Int32

The total number of threads that are waiting to enter upgradeable mode.

Use this property only for debugging, profiling, and logging purposes, and not to control the behavior of an algorithm. The results can change as soon as they have been calculated. Therefore, it is not safe to make decisions based on this property.

The following example shows how to use the WaitingUpgradeCount property to generate an event log entry if the number of threads that are blocked, waiting to enter upgradeable mode, exceeds a threshold.

using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
int waitingUpgradeableReadCt = rwLock.WaitingUpgradeCount;
if (waitingUpgradeableReadCt > UPGRADEABLEREAD_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} blocked upgradeable reader threads; exceeds recommended maximum.", 
        waitingUpgradeableReadCt));
}

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
Show: