Lock.TryEnter Método

Definição

Sobrecargas

Name Description
TryEnter()

Tenta entrar na eclusa sem esperar.

TryEnter(Int32)

Tenta entrar na fechadura, esperando se necessário o número especificado de milissegundos até que a fechadura possa ser aberta.

TryEnter(TimeSpan)

Tenta entrar na fechadura, esperando se necessário até que a fechadura possa ser aberta ou até que o tempo especificado expire.

TryEnter()

Origem:
Lock.cs
Origem:
Lock.cs
Origem:
Lock.cs

Tenta entrar na eclusa sem esperar.

public:
 bool TryEnter();
public bool TryEnter();
member this.TryEnter : unit -> bool
Public Function TryEnter () As Boolean

Devoluções

true se o bloqueio foi introduzido pela linha 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 suficientemente elevado para que não seja atingido em situações normais.

Observações

Quando o método retorna true, a thread atual é a única thread que mantém o bloqueio. Se a fechadura não puder ser aberta imediatamente, o método retorna false sem esperar pela fechadura. Se o bloqueio já estiver mantido pelo fio atual, o bloqueio é novamente introduzido. Para sair totalmente da fechadura e permitir que outras roscas entrem na fechadura, a rosca atual deve sair da fechadura tantas vezes quantas entrou na fechadura.

Para mais informações, consulte as Observações para Lock.

Aplica-se a

TryEnter(Int32)

Origem:
Lock.cs
Origem:
Lock.cs
Origem:
Lock.cs

Tenta entrar na fechadura, esperando se necessário o número especificado de milissegundos até que a fechadura possa ser aberta.

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 esperar até que a fechadura possa ser aberta. Especifique Timeout.Infinite (-1) para esperar indefinidamente, ou 0 para não esperar.

Devoluções

true se o bloqueio foi introduzido pela linha atual; caso contrário, false.

Exceções

millisecondsTimeout é inferior a -1.

O bloqueio atingiu o limite de entradas repetidas pelo thread atual. O limite é definido pela implementação e destina-se a ser suficientemente elevado para que não seja atingido em situações normais.

Observações

Quando o método retorna true, a thread atual é a única thread que mantém o bloqueio. Se o bloqueio não puder ser introduzido imediatamente, o método espera até que o bloqueio possa ser introduzido ou até que o timeout especificado pelo millisecondsTimeout parâmetro expire. Se o timeout expirar antes de entrar no bloqueio, o método devolve false. Se o bloqueio já estiver mantido pelo fio atual, o bloqueio é novamente introduzido. Para sair totalmente da fechadura e permitir que outras roscas entrem na fechadura, a rosca atual deve sair da fechadura tantas vezes quantas entrou na fechadura.

Para mais informações, consulte as Observações para Lock.

Aplica-se a

TryEnter(TimeSpan)

Origem:
Lock.cs
Origem:
Lock.cs
Origem:
Lock.cs

Tenta entrar na fechadura, esperando se necessário até que a fechadura possa ser aberta ou até que o tempo 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

A TimeSpan que representa o número de milissegundos a esperar até que a fechadura possa ser aberta. Especifique um valor que represente Timeout. Infinito (-1) milissegundos para esperar indefinidamente, ou um valor que represente 0 milissegundos para não esperar.

Devoluções

true se o bloqueio foi introduzido pela linha atual; caso contrário, false.

Exceções

timeout, após a sua conversão para um valor inteiro de milissegundos, representa um valor inferior a -1 milissegundos ou superior a 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 suficientemente elevado para que não seja atingido em situações normais.

Observações

Quando o método retorna true, a thread atual é a única thread que mantém o bloqueio. Se a fechadura não puder ser aberta imediatamente, o método espera até que a fechadura possa ser aberta ou até que a especificada timeout expire. Se o timeout expirar antes de entrar no bloqueio, o método devolve false. Se o bloqueio já estiver mantido pelo fio atual, o bloqueio é novamente introduzido. Para sair totalmente da fechadura e permitir que outras roscas entrem na fechadura, a rosca atual deve sair da fechadura tantas vezes quantas entrou na fechadura.

Para mais informações, consulte as Observações para Lock.

Aplica-se a