Lock.TryEnter Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.