ReaderWriterLockSlim.TryEnterReadLock Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пытается ввести блокировку в режиме чтения с необязательным временем ожидания.
Перегрузки
| Имя | Описание |
|---|---|
| TryEnterReadLock(Int32) |
Пытается ввести блокировку в режиме чтения с необязательным временем ожидания целочисленного числа. |
| TryEnterReadLock(TimeSpan) |
Пытается ввести блокировку в режиме чтения с необязательным временем ожидания. |
TryEnterReadLock(Int32)
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
Пытается ввести блокировку в режиме чтения с необязательным временем ожидания целочисленного числа.
public:
bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock(int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (millisecondsTimeout As Integer) As Boolean
Параметры
- millisecondsTimeout
- Int32
Количество миллисекунда для ожидания или -1 (Infinite) для ожидания на неопределенный срок.
Возвращаемое значение
true Значение , если вызывающий поток введен в режим чтения, в противном случае false.
Исключения
Свойство RecursionPolicy имеет значение NoRecursion , и текущий поток уже ввел блокировку.
–или–
Число рекурсии превысит емкость счетчика. Ограничение настолько велико, что приложения никогда не должны столкнуться с ним.
Значение millisecondsTimeout отрицательное, но не равно Infinite (-1), которое является единственным отрицательным значением, допустимым.
Объект ReaderWriterLockSlim удален.
Комментарии
Если millisecondsTimeout значение равно 0 (ноль), этот метод проверяет состояние блокировки и возвращается false немедленно, если нужное состояние недоступно.
Одновременно несколько потоков могут входить в режим чтения.
Если одно или несколько потоков ожидает ввода режима записи, поток, TryEnterReadLock вызывающий блоки методов, пока эти потоки не истекли или не вошли в режим записи, а затем вышли из него или до истечения времени ожидания вызова потока.
Note
Если блокировка разрешает рекурсию, поток, вводимый в блокировку в режиме чтения, может входить в режим чтения рекурсивно, даже если другие потоки ожидают ввода режима записи.
Один поток может находиться в режиме обновления, а другие потоки находятся в режиме чтения. Если дополнительные потоки ожидают перехода в режим обновления, и нет потоков, ожидающих ввода режима записи, потоки, которые вызывают TryEnterReadLock метод в режим чтения немедленно и не блокируются.
Применяется к
TryEnterReadLock(TimeSpan)
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
- Исходный код:
- ReaderWriterLockSlim.cs
Пытается ввести блокировку в режиме чтения с необязательным временем ожидания.
public:
bool TryEnterReadLock(TimeSpan timeout);
public bool TryEnterReadLock(TimeSpan timeout);
member this.TryEnterReadLock : TimeSpan -> bool
Public Function TryEnterReadLock (timeout As TimeSpan) As Boolean
Параметры
- timeout
- TimeSpan
Интервал ожидания или -1 миллисекундах, чтобы ждать неограниченное время.
Возвращаемое значение
true Значение , если вызывающий поток введен в режим чтения, в противном случае false.
Исключения
Свойство RecursionPolicy имеет значение NoRecursion , и текущий поток уже ввел блокировку.
–или–
Число рекурсии превысит емкость счетчика. Ограничение настолько велико, что приложения никогда не должны столкнуться с ним.
Значение timeout отрицательное, но не равно -1 миллисекундам, что является единственным допустимым отрицательным значением.
–или–
Значение timeout больше, чем в миллисекундах Int32.MaxValue .
Объект ReaderWriterLockSlim удален.
Комментарии
Если timeout значение равно 0 (ноль), этот метод проверяет состояние блокировки и возвращается false немедленно, если нужное состояние недоступно.
Одновременно несколько потоков могут вводить блокировку в режиме чтения.
Если один или несколько потоков помещаются в режим записи, поток, TryEnterReadLock вызывающий блоки метода, пока эти потоки не истекли или не вошли в режим записи, а затем вышли из него или до истечения срока ожидания вызывающего потока.
Note
Если блокировка разрешает рекурсию, поток, вводимый в блокировку в режиме чтения, может входить в режим чтения рекурсивно, даже если другие потоки ожидают ввода режима записи.
Один поток может находиться в режиме обновления, а другие потоки находятся в режиме чтения. Если дополнительные потоки ожидают перехода в режим обновления, и нет потоков, ожидающих ввода режима записи, потоки, которые вызывают TryEnterReadLock метод в режим чтения немедленно и не блокируются.