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) |
Пытается ввести блокировку в режиме записи с необязательным временем ожидания. |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.