SpinLock.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.
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, lockTaken possam ser examinadas de forma confiável para determinar se o bloqueio foi adquirido.
Sobrecargas
| Nome | Description |
|---|---|
| TryEnter(Boolean) |
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, |
| TryEnter(Int32, Boolean) |
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, |
| TryEnter(TimeSpan, Boolean) |
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, |
TryEnter(Boolean)
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, lockTaken possam ser examinadas de forma confiá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
True se o bloqueio for adquirido; caso contrário, false.
lockTaken deve ser inicializado como false antes de chamar esse método.
Exceções
O lockTaken argumento deve ser inicializado como false antes de chamar TryEnter.
O controle de propriedade do thread está habilitado e o thread atual já adquiriu esse bloqueio.
Comentários
Ao contrário Enterde TryEnter, o TryEnter não bloqueará a espera para que o bloqueio esteja disponível. Se o bloqueio não estiver disponível quando TryEnter for chamado, ele retornará imediatamente sem nenhuma rotação adicional.
Confira também
- SpinLock
- Como usar o SpinLock para sincronização de Low-Level
- Como habilitar o modo Thread-Tracking no SpinLock
Aplica-se a
TryEnter(Int32, Boolean)
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, lockTaken possam ser examinadas de forma confiá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 a aguardar ou Infinite (-1) aguardar indefinidamente.
- lockTaken
- Boolean
True se o bloqueio for adquirido; caso contrário, false.
lockTaken deve ser inicializado como false antes de chamar esse método.
Exceções
millisecondsTimeout é um número negativo diferente de -1, que representa um tempo limite infinito.
O lockTaken argumento deve ser inicializado como false antes de chamar TryEnter.
O controle de propriedade do thread está habilitado e o thread atual já adquiriu esse bloqueio.
Comentários
Ao contrário Enterde TryEnter, o TryEnter não bloqueará indefinidamente aguardando o bloqueio estar disponível. Ele será bloqueado até que o bloqueio esteja disponível ou até que o millisecondsTimeout bloqueio tenha expirado.
Confira também
- SpinLock
- Como usar o SpinLock para sincronização de Low-Level
- Como habilitar o modo Thread-Tracking no SpinLock
Aplica-se a
TryEnter(TimeSpan, Boolean)
As tentativas de adquirir o bloqueio de maneira confiável, de modo que, mesmo que ocorra uma exceção dentro da chamada de método, lockTaken possam ser examinadas de forma confiá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
Um TimeSpan que representa o número de milissegundos a aguardar ou um TimeSpan que representa -1 milissegundos para aguardar indefinidamente.
- lockTaken
- Boolean
True se o bloqueio for adquirido; caso contrário, false.
lockTaken deve ser inicializado como false antes de chamar esse método.
Exceções
timeout é um número negativo diferente de -1 milissegundos, que representa um tempo limite infinito -ou- tempo limite é maior que Int32.MaxValue milissegundos.
O lockTaken argumento deve ser inicializado como false antes de chamar TryEnter.
O controle de propriedade do thread está habilitado e o thread atual já adquiriu esse bloqueio.
Comentários
Ao contrário Enterde TryEnter, o TryEnter não bloqueará indefinidamente aguardando o bloqueio estar disponível. Ele será bloqueado até que o bloqueio esteja disponível ou até que o timeout bloqueio tenha expirado.
Confira também
- SpinLock
- Como usar o SpinLock para sincronização de Low-Level
- Como habilitar o modo Thread-Tracking no SpinLock