ReaderWriterLockSlim.TryEnterReadLock Método

Definição

Tenta entrar no bloqueio em modo de leitura, com um time-out opcional.

Sobrecargas

Name Description
TryEnterReadLock(Int32)

Tenta entrar no bloqueio em modo de leitura, com um tempo de espera opcional para inteiros.

TryEnterReadLock(TimeSpan)

Tenta entrar no bloqueio em modo de leitura, com um time-out opcional.

TryEnterReadLock(Int32)

Tenta entrar no bloqueio em modo de leitura, com um tempo de espera opcional para inteiros.

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 para esperar, ou -1 (Infinite) para esperar indefinidamente.

Devoluções

true se o thread que chamou entrou em modo de leitura, caso contrário, false.

Exceções

A RecursionPolicy propriedade é 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 as aplicações nunca o deverão encontrar.

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

Observações

Se millisecondsTimeout for 0 (zero), este método verifica o estado do bloqueio e retorna false imediatamente se o estado desejado não estiver disponível.

Múltiplas threads podem entrar em modo de leitura ao mesmo tempo.

Se uma ou mais threads estiverem à espera de entrar em modo de escrita, uma thread que chama o TryEnterReadLock método bloqueia-se até que essas threads tenham expirado o tempo ou entrado em modo de escrita e depois saído dele, ou até que o intervalo de time-out próprio da thread que chama expire.

Note

Se um bloqueio permitir recursão, um thread que entrou no lock em modo de leitura pode entrar no modo de leitura recursivamente, mesmo que outros threads estejam à espera de entrar no modo de escrita.

Um thread pode estar em modo atualizável enquanto outros threads estão em modo de leitura. Se houver threads adicionais à espera de entrar em modo atualizável, e não houver threads à espera para entrar no modo de escrita, os threads que chamam o TryEnterReadLock método entram imediatamente no modo de leitura e não bloqueiam.

Aplica-se a

TryEnterReadLock(TimeSpan)

Tenta entrar no bloqueio em modo de leitura, com um time-out 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 milissegundos para esperar indefinidamente.

Devoluções

true se o thread que chamou entrou em modo de leitura, caso contrário, false.

Exceções

A RecursionPolicy propriedade é 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 as aplicações nunca o deverão encontrar.

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

-ou-

O valor de timeout é superior a Int32.MaxValue milissegundos.

Observações

Se timeout for 0 (zero), este método verifica o estado do bloqueio e retorna false imediatamente se o estado desejado não estiver disponível.

Múltiplos threads podem entrar no bloqueio em modo de leitura ao mesmo tempo.

Se uma ou mais threads estiverem em fila para entrar no modo de escrita, uma thread que chama o TryEnterReadLock método bloqueia-se até que essas threads tenham expirado o tempo ou entrado em modo de escrita e depois saído dele, ou até que o intervalo de tempo limite do próprio thread que chama expire.

Note

Se um bloqueio permitir recursão, um thread que entrou no lock em modo de leitura pode entrar no modo de leitura recursivamente, mesmo que outros threads estejam à espera de entrar no modo de escrita.

Um thread pode estar em modo atualizável enquanto outros threads estão em modo de leitura. Se houver threads adicionais à espera de entrar em modo atualizável, e não houver threads à espera para entrar no modo de escrita, os threads que chamam o TryEnterReadLock método entram imediatamente no modo de leitura e não bloqueiam.

Aplica-se a