ReaderWriterLockSlim Класс

Определение

Представляет блокировку, которая используется для управления доступом к ресурсу, позволяя нескольким потокам читать или эксклюзивный доступ для записи.

public ref class ReaderWriterLockSlim : IDisposable
public class ReaderWriterLockSlim : IDisposable
type ReaderWriterLockSlim = class
    interface IDisposable
Public Class ReaderWriterLockSlim
Implements IDisposable
Наследование
ReaderWriterLockSlim
Реализации

Комментарии

Дополнительные сведения об этом API см. в дополнительных замечаниях API для ReaderWriterLockSlim.

Конструкторы

Имя Описание
ReaderWriterLockSlim()

Инициализирует новый экземпляр ReaderWriterLockSlim класса со значениями свойств по умолчанию.

ReaderWriterLockSlim(LockRecursionPolicy)

Инициализирует новый экземпляр ReaderWriterLockSlim класса, указав политику рекурсии блокировки.

Свойства

Имя Описание
CurrentReadCount

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

IsReadLockHeld

Возвращает значение, указывающее, ввел ли текущий поток блокировку в режиме чтения.

IsUpgradeableReadLockHeld

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

IsWriteLockHeld

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

RecursionPolicy

Возвращает значение, указывающее политику рекурсии для текущего ReaderWriterLockSlim объекта.

RecursiveReadCount

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

RecursiveUpgradeCount

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

RecursiveWriteCount

Получает количество раз, когда текущий поток ввел блокировку в режиме записи, как указание рекурсии.

WaitingReadCount

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

WaitingUpgradeCount

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

WaitingWriteCount

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

Методы

Имя Описание
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса ReaderWriterLockSlim.

EnterReadLock()

Пытается ввести блокировку в режиме чтения.

EnterUpgradeableReadLock()

Пытается ввести блокировку в обновляемом режиме.

EnterWriteLock()

Пытается ввести блокировку в режиме записи.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
ExitReadLock()

Уменьшает число рекурсий для режима чтения и завершает режим чтения, если результирующее число равно 0 (ноль).

ExitUpgradeableReadLock()

Уменьшает число рекурсий для обновляемого режима и завершает режим обновления, если результирующее число равно 0 (ноль).

ExitWriteLock()

Уменьшает число рекурсий для режима записи и завершает режим записи, если результирующее число равно 0 (ноль).

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TryEnterReadLock(Int32)

Пытается ввести блокировку в режиме чтения с необязательным временем ожидания целочисленного числа.

TryEnterReadLock(TimeSpan)

Пытается ввести блокировку в режиме чтения с необязательным временем ожидания.

TryEnterUpgradeableReadLock(Int32)

Пытается ввести блокировку в обновляемом режиме с необязательным временем ожидания.

TryEnterUpgradeableReadLock(TimeSpan)

Пытается ввести блокировку в обновляемом режиме с необязательным временем ожидания.

TryEnterWriteLock(Int32)

Пытается ввести блокировку в режиме записи с необязательным временем ожидания.

TryEnterWriteLock(TimeSpan)

Пытается ввести блокировку в режиме записи с необязательным временем ожидания.

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

Потокобезопасность

Этот тип является потокобезопасной.