SpinLock.Enter(Boolean) Methode

Definition

Ruft die Sperre zuverlässig ab, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.Acquires the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

public:
 void Enter(bool % lockTaken);
public void Enter (ref bool lockTaken);
member this.Enter : bool -> unit
Public Sub Enter (ByRef lockTaken As Boolean)

Parameter

lockTaken
Boolean

True, wenn die Sperre abgerufen wird, andernfalls false.True if the lock is acquired; otherwise, false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.lockTaken must be initialized to false prior to calling this method.

Ausnahmen

Das lockTaken-Argument muss vor dem Aufrufen von Enter mit false initialisiert werden.The lockTaken argument must be initialized to false prior to calling Enter.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Hinweise

SpinLockist eine nicht wieder eintretende Sperre, d. h., wenn ein Thread die Sperre besitzt, ist es nicht zulässig, die Sperre erneut einzugeben.SpinLock is a non-reentrant lock, meaning that if a thread holds the lock, it is not allowed to enter the lock again. Wenn die Nachverfolgung von Thread Besitz aktiviert ist (unabhängig davon, ob IsThreadOwnerTrackingEnabledSie aktiviert ist), wird eine Ausnahme ausgelöst, wenn ein Thread versucht, erneut eine Sperre einzugeben, die er bereits enthält.If thread ownership tracking is enabled (whether it's enabled is available through IsThreadOwnerTrackingEnabled), an exception will be thrown when a thread tries to re-enter a lock it already holds. Wenn die Nachverfolgung von Thread Besitz jedoch deaktiviert ist, führt der Versuch, eine Sperre einzugeben, zu einem Deadlock.However, if thread ownership tracking is disabled, attempting to enter a lock already held will result in deadlock.

Wenn Sie aufrufen Exit , ohne zuerst SpinLock den Enter internen Zustand von aufzurufen, kann beschädigt werden.If you call Exit without having first called Enter the internal state of the SpinLock can become corrupted.

Gilt für:

Siehe auch