ReaderWriterLockSlim.WaitingUpgradeCount Свойство

Определение

Получает общее количество потоков, ожидающих входа в блокировку в обновляемом режиме.

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

Значение свойства

Int32

Общее количество потоков, ожидающих входа в обновляемый режим.

Примеры

В следующем примере показано, как использовать WaitingUpgradeCount свойство для создания записи журнала событий, если количество заблокированных потоков, ожидающих перехода в обновляемый режим, превышает пороговое значение.

using (ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim()) {
Using rwLock As New ReaderWriterLockSlim()
int waitingUpgradeableReadCt = rwLock.WaitingUpgradeCount;
if (waitingUpgradeableReadCt > UPGRADEABLEREAD_THRESHOLD)
{
    performanceLog.WriteEntry(String.Format(
        "{0} blocked upgradeable reader threads; exceeds recommended maximum.", 
        waitingUpgradeableReadCt));
}
Dim waitingUpgradeableReadCt As Integer = rwLock.WaitingUpgradeCount
If waitingUpgradeableReadCt > UPGRADEABLEREAD_THRESHOLD Then
    performanceLog.WriteEntry(String.Format( _
        "{0} blocked upgradeable reader threads; exceeds recommended maximum.", _
        waitingUpgradeableReadCt))
End If

Комментарии

Используйте это свойство только для отладки, профилирования и ведения журнала, а не для управления поведением алгоритма. Результаты могут изменяться сразу после их вычисления. Поэтому небезопасно принимать решения на основе этого свойства.

Применяется к