Compartilhar via


ReaderWriterLockSlim.TryEnterReadLock Método

Definição

Tenta entrar no bloqueio no modo de leitura, com um tempo limite opcional.

Sobrecargas

TryEnterReadLock(Int32)

Tenta inserir o bloqueio no modo de gravação com um tempo limite inteiro opcional.

TryEnterReadLock(TimeSpan)

Tenta entrar no bloqueio no modo de leitura, com um tempo limite opcional.

TryEnterReadLock(Int32)

Origem:
ReaderWriterLockSlim.cs
Origem:
ReaderWriterLockSlim.cs
Origem:
ReaderWriterLockSlim.cs

Tenta inserir o bloqueio no modo de gravação com um tempo limite inteiro opcional.

public:
 bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock (int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (millisecondsTimeout As Integer) As Boolean

Parâmetros

millisecondsTimeout
Int32

O número de milissegundos a aguardar ou -1 (Infinite) para aguardar indefinidamente.

Retornos

true se o thread de chamada tiver entrado no modo de leitura; caso contrário, false.

Exceções

A propriedade RecursionPolicy é NoRecursion e o thread atual já entrou no bloqueio.

- ou -

O número de recursão excederia a capacidade do contador. O limite é tão grande que os aplicativos nunca o alcançariam.

O valor de millisecondsTimeout é negativo, mas não é igual a Infinite (-1), que é o único valor negativo permitido.

Comentários

Se millisecondsTimeout for 0 (zero), esse método verificará o estado de bloqueio e retornará false imediatamente se o estado desejado não estiver disponível.

Vários threads podem entrar no modo de leitura ao mesmo tempo.

Se um ou mais threads estiverem aguardando para entrar no modo de gravação, um thread que chama o TryEnterReadLock método será bloqueado até que esses threads tenham expirado ou entrado no modo de gravação e, em seguida, tenham saído dele ou até que o intervalo de tempo limite do thread de chamada expire.

Observação

Se um bloqueio permitir recursão, um thread que entrou no bloqueio no modo de leitura poderá entrar no modo de leitura recursivamente, mesmo que outros threads estejam aguardando para entrar no modo de gravação.

Um thread pode estar no modo atualizável enquanto outros threads estão no modo de leitura. Se threads adicionais estiverem aguardando para entrar no modo atualizável e não houver threads aguardando para entrar no modo de gravação, os threads que chamam o TryEnterReadLock método entrarão no modo de leitura imediatamente e não bloquearão.

Aplica-se a

TryEnterReadLock(TimeSpan)

Origem:
ReaderWriterLockSlim.cs
Origem:
ReaderWriterLockSlim.cs
Origem:
ReaderWriterLockSlim.cs

Tenta entrar no bloqueio no modo de leitura, com um tempo limite opcional.

public:
 bool TryEnterReadLock(TimeSpan timeout);
public bool TryEnterReadLock (TimeSpan timeout);
member this.TryEnterReadLock : TimeSpan -> bool
Public Function TryEnterReadLock (timeout As TimeSpan) As Boolean

Parâmetros

timeout
TimeSpan

O intervalo para esperar ou -1 milissegundo para aguardar indefinidamente.

Retornos

true se o thread de chamada tiver entrado no modo de leitura; caso contrário, false.

Exceções

A propriedade RecursionPolicy é NoRecursion e o thread atual já entrou no bloqueio.

- ou -

O número de recursão excederia a capacidade do contador. O limite é tão grande que os aplicativos nunca o alcançariam.

O valor de timeout é negativo, mas não é igual a -1 milissegundo, que é o único valor negativo permitido.

- ou -

O valor de timeout é maior que Int32.MaxValue milissegundos.

Comentários

Se timeout for 0 (zero), esse método verificará o estado de bloqueio e retornará false imediatamente se o estado desejado não estiver disponível.

Vários threads podem entrar no bloqueio no modo de leitura ao mesmo tempo.

Se um ou mais threads estiverem na fila para entrar no modo de gravação, um thread que chama o TryEnterReadLock método será bloqueado até que esses threads tenham expirado ou entrado no modo de gravação e, em seguida, sejam encerrados dele ou até que o intervalo de tempo limite do thread de chamada expire.

Observação

Se um bloqueio permitir recursão, um thread que entrou no bloqueio no modo de leitura poderá entrar no modo de leitura recursivamente, mesmo que outros threads estejam aguardando para entrar no modo de gravação.

Um thread pode estar no modo atualizável enquanto outros threads estão no modo de leitura. Se threads adicionais estiverem aguardando para entrar no modo atualizável e não houver threads aguardando para entrar no modo de gravação, os threads que chamam o TryEnterReadLock método entrarão no modo de leitura imediatamente e não bloquearão.

Aplica-se a