SpinLock.Enter(Boolean) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Acquiert le verrou de façon fiable, de sorte que même si une exception se produit dans l'appel de méthode, lockTaken
peut être examiné de façon fiable pour déterminer si le verrou a été acquis.
public:
void Enter(bool % lockTaken);
public void Enter (ref bool lockTaken);
member this.Enter : bool -> unit
Public Sub Enter (ByRef lockTaken As Boolean)
Paramètres
- lockTaken
- Boolean
True si le verrou est acquis ; sinon, false. lockTaken
doit être initialisé avec la valeur false avant l'appel à cette méthode.
Exceptions
L'argument lockTaken
doit être initialisé sur false avant d'appeler ENTRÉE.
Le suivi de la propriété du thread est activé et le thread actuel a déjà acquis ce verrou.
Remarques
SpinLock est un verrou non reentrant, ce qui signifie que si un thread contient le verrou, il n’est pas autorisé à entrer à nouveau le verrou. Si le suivi de propriété du thread est activé (s’il est activé par le biais IsThreadOwnerTrackingEnabledde ), une exception est levée lorsqu’un thread tente de réinscrire un verrou qu’il contient déjà. Toutefois, si le suivi de propriété du thread est désactivé, la tentative d’entrée d’un verrou déjà conservé entraîne un blocage.
Si vous appelez Exit sans avoir d’abord appelé Enter l’état interne du SpinLock peut devenir endommagé.