SpinLock.TryEnter Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, lockTaken se puede examinar de forma confiable para determinar si se adquirió el bloqueo.
Sobrecargas
| Nombre | Description |
|---|---|
| TryEnter(Boolean) |
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, |
| TryEnter(Int32, Boolean) |
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, |
| TryEnter(TimeSpan, Boolean) |
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, |
TryEnter(Boolean)
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, lockTaken se puede examinar de forma confiable para determinar si se adquirió el bloqueo.
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 si se adquiere el bloqueo; de lo contrario, false.
lockTaken debe inicializarse en false antes de llamar a este método.
Excepciones
El lockTaken argumento debe inicializarse en false antes de llamar a TryEnter.
El seguimiento de la propiedad del subproceso está habilitado y el subproceso actual ya ha adquirido este bloqueo.
Comentarios
A diferencia Enterde , TryEnter no bloqueará la espera de que el bloqueo esté disponible. Si el bloqueo no está disponible cuando se llama a TryEnter, se devolverá inmediatamente sin girar más.
Consulte también
- SpinLock
- Procedimiento: Utilizar bloqueo por subproceso para la sincronización de bajo nivel
- Cómo: Habilitar el modo de Thread-Tracking en SpinLock
Se aplica a
TryEnter(Int32, Boolean)
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, lockTaken se puede examinar de forma confiable para determinar si se adquirió el bloqueo.
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
Número de milisegundos que se van a esperar o Infinite (-1) para esperar indefinidamente.
- lockTaken
- Boolean
True si se adquiere el bloqueo; de lo contrario, false.
lockTaken debe inicializarse en false antes de llamar a este método.
Excepciones
millisecondsTimeout es un número negativo distinto de -1, que representa un tiempo de espera infinito.
El lockTaken argumento debe inicializarse en false antes de llamar a TryEnter.
El seguimiento de la propiedad del subproceso está habilitado y el subproceso actual ya ha adquirido este bloqueo.
Comentarios
A diferencia Enterde , TryEnter no bloqueará indefinidamente la espera de que el bloqueo esté disponible. Se bloqueará hasta que el bloqueo esté disponible o hasta que millisecondsTimeout haya expirado.
Consulte también
- SpinLock
- Procedimiento: Utilizar bloqueo por subproceso para la sincronización de bajo nivel
- Cómo: Habilitar el modo de Thread-Tracking en SpinLock
Se aplica a
TryEnter(TimeSpan, Boolean)
Intenta adquirir el bloqueo de forma confiable, de modo que incluso si se produce una excepción dentro de la llamada al método, lockTaken se puede examinar de forma confiable para determinar si se adquirió el bloqueo.
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
TimeSpan que representa el número de milisegundos que se van a esperar, o que TimeSpan representa -1 milisegundos que se van a esperar indefinidamente.
- lockTaken
- Boolean
True si se adquiere el bloqueo; de lo contrario, false.
lockTaken debe inicializarse en false antes de llamar a este método.
Excepciones
timeout es un número negativo distinto de -1 milisegundos, que representa un tiempo de espera infinito (o bien) es mayor que los milisegundos Int32.MaxValue .
El lockTaken argumento debe inicializarse en false antes de llamar a TryEnter.
El seguimiento de la propiedad del subproceso está habilitado y el subproceso actual ya ha adquirido este bloqueo.
Comentarios
A diferencia Enterde , TryEnter no bloqueará indefinidamente la espera de que el bloqueo esté disponible. Se bloqueará hasta que el bloqueo esté disponible o hasta que timeout haya expirado.
Consulte también
- SpinLock
- Procedimiento: Utilizar bloqueo por subproceso para la sincronización de bajo nivel
- Cómo: Habilitar el modo de Thread-Tracking en SpinLock