Поделиться через


ReaderWriterLockSlim.WaitingReadCount Свойство

Определение

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

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

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

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

Примеры

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

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

Комментарии

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

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