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
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
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
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
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.