SpinLock.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.
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, lockTaken possam ser examinadas de forma fiável para determinar se o bloqueio foi adquirido.
Sobrecargas
| Name | Description |
|---|---|
| TryEnter(Boolean) |
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, |
| TryEnter(Int32, Boolean) |
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, |
| TryEnter(TimeSpan, Boolean) |
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, |
TryEnter(Boolean)
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, lockTaken possam ser examinadas de forma fiável para determinar se o bloqueio foi adquirido.
public:
void TryEnter(bool % lockTaken);
public void TryEnter(ref bool lockTaken);
member this.TryEnter : bool -> unit
Public Sub TryEnter (ByRef lockTaken As Boolean)
Parâmetros
- lockTaken
- Boolean
Verdade se o cadeado for adquirido; caso contrário, falso.
lockTaken deve ser inicializado como false antes de chamar este método.
Exceções
O lockTaken argumento deve ser inicializado como falso antes de chamar o TryEnter.
O rastreio da propriedade da thread está ativado, e a thread atual já adquiriu este bloqueio.
Observações
Ao contrário de , o TryEnter não bloqueia a Enterespera que a fechadura esteja disponível. Se o bloqueio não estiver disponível quando o TryEnter for chamado, ele retornará imediatamente sem qualquer rotação adicional.
Ver também
- SpinLock
- Como usar SpinLock para sincronização de Low-Level
- Como: Ativar o Modo Thread-Tracking no SpinLock
Aplica-se a
TryEnter(Int32, Boolean)
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, lockTaken possam ser examinadas de forma fiável para determinar se o bloqueio foi adquirido.
public:
void TryEnter(int millisecondsTimeout, bool % lockTaken);
public void TryEnter(int millisecondsTimeout, ref bool lockTaken);
member this.TryEnter : int * bool -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)
Parâmetros
- millisecondsTimeout
- Int32
O número de milissegundos para esperar, ou Infinite (-1) para esperar indefinidamente.
- lockTaken
- Boolean
Verdade se o cadeado for adquirido; caso contrário, falso.
lockTaken deve ser inicializado como false antes de chamar este método.
Exceções
millisecondsTimeout é um número negativo diferente de -1, o que representa um tempo limite infinito.
O lockTaken argumento deve ser inicializado como falso antes de chamar o TryEnter.
O rastreio da propriedade da thread está ativado, e a thread atual já adquiriu este bloqueio.
Observações
Ao contrário do , o TryEnter não bloqueia a Enterespera indefinida que a fechadura esteja disponível. Vai bloquear até que o cadeado esteja disponível ou até millisecondsTimeout expirar.
Ver também
- SpinLock
- Como usar SpinLock para sincronização de Low-Level
- Como: Ativar o Modo Thread-Tracking no SpinLock
Aplica-se a
TryEnter(TimeSpan, Boolean)
Tentativas de adquirir o bloqueio de forma fiável, de modo que mesmo que ocorra uma exceção dentro da chamada do método, lockTaken possam ser examinadas de forma fiável para determinar se o bloqueio foi adquirido.
public:
void TryEnter(TimeSpan timeout, bool % lockTaken);
public void TryEnter(TimeSpan timeout, ref bool lockTaken);
member this.TryEnter : TimeSpan * bool -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)
Parâmetros
- timeout
- TimeSpan
A TimeSpan que representa o número de milissegundos para esperar, ou a TimeSpan que representa -1 milissegundos para esperar indefinidamente.
- lockTaken
- Boolean
Verdade se o cadeado for adquirido; caso contrário, falso.
lockTaken deve ser inicializado como false antes de chamar este método.
Exceções
timeout é um número negativo diferente de -1 milissegundos, que representa um tempo de espera infinito -ou-- é maior que Int32.MaxValue milissegundos.
O lockTaken argumento deve ser inicializado como falso antes de chamar o TryEnter.
O rastreio da propriedade da thread está ativado, e a thread atual já adquiriu este bloqueio.
Observações
Ao contrário do , o TryEnter não bloqueia a Enterespera indefinida que a fechadura esteja disponível. Vai bloquear até que o cadeado esteja disponível ou até timeout expirar.
Ver também
- SpinLock
- Como usar SpinLock para sincronização de Low-Level
- Como: Ativar o Modo Thread-Tracking no SpinLock