ReaderWriterLockSlim.TryEnterReadLock Método

Definição

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

Sobrecargas

Nome Description
TryEnterReadLock(Int32)

Tenta inserir o bloqueio no modo de leitura, com um tempo limite de inteiro opcional.

TryEnterReadLock(TimeSpan)

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

TryEnterReadLock(Int32)

Tenta inserir o bloqueio no modo de leitura, com um tempo limite de 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) a aguardar indefinidamente.

Retornos

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

Exceções

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

-ou-

O número de recursão excederia a capacidade do contador. O limite é tão grande que os aplicativos nunca devem encontrar ele.

O valor é 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 bloqueia até que esses threads tenham cronometrado ou inserido no modo de gravação e, em seguida, saído dele ou até que o intervalo de tempo limite do próprio thread de chamada expire.

Note

Se um bloqueio permitir a recursão, um thread que inseriu o 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 estiverem 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 entram no modo de leitura imediatamente e não bloqueiam.

Aplica-se a

TryEnterReadLock(TimeSpan)

Tenta inserir o 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 a ser esperado ou -1 milissegundos para aguardar indefinidamente.

Retornos

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

Exceções

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

-ou-

O número de recursão excederia a capacidade do contador. O limite é tão grande que os aplicativos nunca devem encontrar ele.

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

-ou-

O valor é 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 inserir o 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 bloqueia até que esses threads tenham cronometrado ou inserido o modo de gravação e, em seguida, saído dele ou até que o próprio intervalo de tempo limite do thread de chamada expire.

Note

Se um bloqueio permitir a recursão, um thread que inseriu o 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 estiverem 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 entram no modo de leitura imediatamente e não bloqueiam.

Aplica-se a