SpinLock.Enter(Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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. lockTaken
muss vor dem Aufrufen dieser Methode mit false initialisiert werden.
Ausnahmen
Das lockTaken
-Argument muss vor dem Aufrufen von Enter mit false initialisiert werden.
Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.
Hinweise
SpinLock ist eine nicht erneute Sperrung, d. h. wenn ein Thread die Sperre hält, ist es nicht zulässig, die Sperre erneut einzugeben. Wenn die Threadbesitzerverfolgung aktiviert ist (ob IsThreadOwnerTrackingEnabledes aktiviert ist), wird eine Ausnahme ausgelöst, wenn ein Thread versucht, eine bereits vorhandene Sperre erneut einzugeben. Wenn die Thread-Besitzverfolgung deaktiviert ist, führt der Versuch, bereits eine Sperre einzugeben, zu einem Deadlock.
Wenn Sie anrufen Exit , ohne zuerst Enter den internen Zustand der SpinLock Datei aufgerufen zu haben, kann beschädigt werden.