ReaderWriterLockSlim.WaitingUpgradeCount Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает общее количество потоков, ожидающих входа в блокировку в обновляемом режиме.
public:
property int WaitingUpgradeCount { int get(); };
public int WaitingUpgradeCount { get; }
member this.WaitingUpgradeCount : int
Public ReadOnly Property WaitingUpgradeCount As Integer
Значение свойства
Общее количество потоков, ожидающих входа в обновляемый режим.
Примеры
В следующем примере показано, как использовать 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
Комментарии
Используйте это свойство только для отладки, профилирования и ведения журнала, а не для управления поведением алгоритма. Результаты могут изменяться сразу после их вычисления. Поэтому небезопасно принимать решения на основе этого свойства.