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 метод в режим чтения немедленно и не блокируются.

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