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.
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, lockTaken
poderá ser examinado com confiança para determinar se o bloqueio foi adquirido.
Sobrecargas
TryEnter(Boolean) |
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, |
TryEnter(Int32, Boolean) |
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, |
TryEnter(TimeSpan, Boolean) |
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, |
TryEnter(Boolean)
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, lockTaken
poderá ser examinado com confiança 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 tiver sido adquirido; caso contrário, false.
lockTaken
deve ser inicializado como false antes de chamar esse método.
Exceções
O argumento lockTaken
deve ser inicializado como false antes de chamar TryEnter.
O acompanhamento de propriedade de thread está habilitado e o thread atual há adquiriu este bloqueio.
Comentários
Ao contrário Enterde , 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 SpinLock para sincronização de baixo nível
- Como habilitar o modo de controle de thread em SpinLock
Aplica-se a
TryEnter(Int32, Boolean)
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, lockTaken
poderá ser examinado com confiança 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 aguardar ou Infinite (- 1) para aguardar indefinidamente.
- lockTaken
- Boolean
True se o bloqueio tiver sido 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 argumento lockTaken
deve ser inicializado como false antes de chamar TryEnter.
O acompanhamento de propriedade de thread está habilitado e o thread atual há adquiriu este bloqueio.
Comentários
Ao contrário Enterde , 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
tenha expirado.
Confira também
- SpinLock
- Como usar SpinLock para sincronização de baixo nível
- Como habilitar o modo de controle de thread em SpinLock
Aplica-se a
TryEnter(TimeSpan, Boolean)
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
- Origem:
- SpinLock.cs
Tenta adquirir o bloqueio de maneira confiável, de forma que mesmo se uma exceção ocorrer dentro da chamada de método, lockTaken
poderá ser examinado com confiança 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 para aguardar ou um TimeSpan que representa -1 milissegundos para aguardar indefinidamente.
- lockTaken
- Boolean
True se o bloqueio tiver sido 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, o que representa um tempo limite infinito -ou- tempo limite é maior que Int32.MaxValue milissegundos.
O argumento lockTaken
deve ser inicializado como false antes de chamar TryEnter.
O acompanhamento de propriedade de thread está habilitado e o thread atual há adquiriu este bloqueio.
Comentários
Ao contrário Enterde , 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
tenha expirado.
Confira também
- SpinLock
- Como usar SpinLock para sincronização de baixo nível
- Como habilitar o modo de controle de thread em SpinLock