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 manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar lockTaken
de manera confiable para determinar si se adquirió el bloqueo.
Sobrecargas
TryEnter(Boolean) |
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar |
TryEnter(Int32, Boolean) |
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar |
TryEnter(TimeSpan, Boolean) |
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar |
TryEnter(Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar lockTaken
de manera 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
Es true si se adquiere el bloqueo; de lo contrario, es false.
lockTaken
se debe inicializar en false antes de llamar a este método.
Excepciones
El argumento lockTaken
se debe inicializar en false antes de llamar a TryEnter.
El seguimiento de propiedad de subprocesos 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 ningún giro adicional.
Consulte también
- SpinLock
- Cómo: Utilizar SpinLock para la sincronización de bajo nivel
- Cómo: Habilitar el modo de seguimiento de subproceso en el bloqueo SpinLock
Se aplica a
TryEnter(Int32, Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar lockTaken
de manera 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 de espera o Infinite (-1) para esperar indefinidamente.
- lockTaken
- Boolean
Es true si se adquiere el bloqueo; de lo contrario, es false.
lockTaken
se debe inicializar 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 argumento lockTaken
se debe inicializar en false antes de llamar a TryEnter.
El seguimiento de propiedad de subprocesos está habilitado, y el subproceso actual ya ha adquirido este bloqueo.
Comentarios
A diferencia Enterde , TryEnter no se bloqueará indefinidamente a 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
- Cómo: Utilizar SpinLock para la sincronización de bajo nivel
- Cómo: Habilitar el modo de seguimiento de subproceso en el bloqueo SpinLock
Se aplica a
TryEnter(TimeSpan, Boolean)
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
- Source:
- SpinLock.cs
Intenta adquirir el bloqueo de manera confiable de modo que, incluso si se produce una excepción en la llamada al método, se pueda examinar lockTaken
de manera 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
Estructura TimeSpan que representa el número de milisegundos de espera o estructura TimeSpan que representa -1 milisegundos para esperar indefinidamente.
- lockTaken
- Boolean
Es true si se adquiere el bloqueo; de lo contrario, es false.
lockTaken
se debe inicializar 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- el tiempo de espera es mayor que int32.MaxValue milisegundos.
El argumento lockTaken
se debe inicializar en false antes de llamar a TryEnter.
El seguimiento de propiedad de subprocesos está habilitado, y el subproceso actual ya ha adquirido este bloqueo.
Comentarios
A diferencia Enterde , TryEnter no se bloqueará indefinidamente a 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
- Cómo: Utilizar SpinLock para la sincronización de bajo nivel
- Cómo: Habilitar el modo de seguimiento de subproceso en el bloqueo SpinLock