Lock.TryEnter Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| TryEnter() |
Tenta entrar no bloqueio sem esperar. |
| TryEnter(Int32) |
Tenta inserir o bloqueio, aguardando, se necessário, o número especificado de milissegundos até que o bloqueio possa ser inserido. |
| TryEnter(TimeSpan) |
Tenta inserir o bloqueio, aguardando, se necessário, até que o bloqueio possa ser inserido ou até que o tempo limite especificado expire. |
TryEnter()
- Origem:
- Lock.cs
- Origem:
- Lock.cs
Tenta entrar no bloqueio sem esperar.
public:
bool TryEnter();
public bool TryEnter();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean
Retornos
true se o bloqueio foi inserido pelo thread atual; caso contrário, false.
Exceções
O bloqueio atingiu o limite de entradas repetidas pelo thread atual. O limite é definido pela implementação e destina-se a ser alto o suficiente para que ele não seja atingido em situações normais.
Comentários
Quando o método retorna true, o thread atual é o único thread que mantém o bloqueio. Se o bloqueio não puder ser inserido imediatamente, o método retornará false sem aguardar o bloqueio. Se o bloqueio já estiver mantido pelo thread atual, o bloqueio será inserido novamente. Para sair totalmente do bloqueio e permitir que outros threads insiram o bloqueio, o thread atual deve sair do bloqueio quantas vezes tiver entrado no bloqueio.
Para obter mais informações, consulte os Comentários sobre Lock.
Aplica-se a
TryEnter(Int32)
- Origem:
- Lock.cs
- Origem:
- Lock.cs
Tenta inserir o bloqueio, aguardando, se necessário, o número especificado de milissegundos até que o bloqueio possa ser inserido.
public:
bool TryEnter(int millisecondsTimeout);
public bool TryEnter(int millisecondsTimeout);
member this.TryEnter : int -> bool
Public Function TryEnter (millisecondsTimeout As Integer) As Boolean
Parâmetros
- millisecondsTimeout
- Int32
O número de milissegundos a aguardar até que o bloqueio possa ser inserido. Especifique Timeout.Infinite (-1) para aguardar indefinidamente ou 0 não esperar.
Retornos
true se o bloqueio foi inserido pelo thread atual; caso contrário, false.
Exceções
millisecondsTimeout é menor que -1.
O bloqueio atingiu o limite de entradas repetidas pelo thread atual. O limite é definido pela implementação e destina-se a ser alto o suficiente para que ele não seja atingido em situações normais.
Comentários
Quando o método retorna true, o thread atual é o único thread que mantém o bloqueio. Se o bloqueio não puder ser inserido imediatamente, o método aguardará até que o bloqueio possa ser inserido ou até que o tempo limite especificado pelo millisecondsTimeout parâmetro expire. Se o tempo limite expirar antes de entrar no bloqueio, o método retornará false. Se o bloqueio já estiver mantido pelo thread atual, o bloqueio será inserido novamente. Para sair totalmente do bloqueio e permitir que outros threads insiram o bloqueio, o thread atual deve sair do bloqueio quantas vezes tiver entrado no bloqueio.
Para obter mais informações, consulte os Comentários sobre Lock.
Aplica-se a
TryEnter(TimeSpan)
- Origem:
- Lock.cs
- Origem:
- Lock.cs
Tenta inserir o bloqueio, aguardando, se necessário, até que o bloqueio possa ser inserido ou até que o tempo limite especificado expire.
public:
bool TryEnter(TimeSpan timeout);
public bool TryEnter(TimeSpan timeout);
member this.TryEnter : TimeSpan -> bool
Public Function TryEnter (timeout As TimeSpan) As Boolean
Parâmetros
- timeout
- TimeSpan
Um TimeSpan que representa o número de milissegundos a aguardar até que o bloqueio possa ser inserido. Especifique um valor que represente milissegundos Timeout.Infinite (-1) para aguardar indefinidamente ou um valor que represente milissegundos 0 para não esperar.
Retornos
true se o bloqueio foi inserido pelo thread atual; caso contrário, false.
Exceções
timeout, após sua conversão em um valor de milissegundo inteiro, representa um valor menor que -1 milissegundos ou maior que Int32.MaxValue milissegundos.
O bloqueio atingiu o limite de entradas repetidas pelo thread atual. O limite é definido pela implementação e destina-se a ser alto o suficiente para que ele não seja atingido em situações normais.
Comentários
Quando o método retorna true, o thread atual é o único thread que mantém o bloqueio. Se o bloqueio não puder ser inserido imediatamente, o método aguardará até que o bloqueio possa ser inserido ou até que o especificado timeout expire. Se o tempo limite expirar antes de entrar no bloqueio, o método retornará false. Se o bloqueio já estiver mantido pelo thread atual, o bloqueio será inserido novamente. Para sair totalmente do bloqueio e permitir que outros threads insiram o bloqueio, o thread atual deve sair do bloqueio quantas vezes tiver entrado no bloqueio.
Para obter mais informações, consulte os Comentários sobre Lock.