SpinLock.Enter(Boolean) Método

Definición

Adquiere 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 Enter(bool % lockTaken);
public void Enter(ref bool lockTaken);
member this.Enter : bool -> unit
Public Sub Enter (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 Enter.

El seguimiento de la propiedad del subproceso está habilitado y el subproceso actual ya ha adquirido este bloqueo.

Comentarios

SpinLock es un bloqueo no reentrante, lo que significa que si un subproceso contiene el bloqueo, no se permite entrar de nuevo en el bloqueo. Si el seguimiento de la propiedad del subproceso está habilitado (si está habilitado está disponible a través IsThreadOwnerTrackingEnabledde ), se producirá una excepción cuando un subproceso intente volver a escribir un bloqueo que ya contiene. Sin embargo, si el seguimiento de la propiedad del subproceso está deshabilitado, si se intenta introducir un bloqueo ya mantenido, se producirá un interbloqueo.

Si llama Exit sin haber llamado Enter primero al estado interno de puede SpinLock dañarse.

Se aplica a

Consulte también