ReaderWriterLockSlim.WaitingWriteCount Property

Definition

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

public:
 property int WaitingWriteCount { int get(); };
public int WaitingWriteCount { get; }
member this.WaitingWriteCount : int
Public ReadOnly Property WaitingWriteCount As Integer

Property Value

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

Examples

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

using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
Using rwLock As New ReaderWriterLockSlim()
int waitingWriteCt = rwLock.WaitingWriteCount;
if (waitingWriteCt > WRITE_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} blocked writer threads; exceeds recommended maximum.", 
        waitingWriteCt));
}
Dim waitingWriteCt As Integer = rwLock.WaitingWriteCount
If waitingWriteCt > WRITE_THRESHOLD Then
    performanceLog.WriteEntry(String.Format( _
        "{0} blocked writer threads; exceeds recommended maximum.", _
        waitingWriteCt))
End If

Remarks

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.

Applies to