Partilhar via


Lock.TryEnter Método

Definição

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.

Aplica-se a