ReaderWriterLockSlim.TryEnterReadLock Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
O ReaderWriterLockSlim objeto foi descartado.
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.
O ReaderWriterLockSlim objeto foi descartado.
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.