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 selbst wenn eine Ausnahme innerhalb des Methodenaufrufs auftritt, zuverlässig untersucht werden kann, lockTaken ob die Sperre erworben 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 erworben wird; andernfalls "false".
lockTaken muss vor dem Aufrufen dieser Methode auf "false" initialisiert werden.
Ausnahmen
Das lockTaken Argument muss vor dem Aufrufen der EINGABETASTE auf "false" initialisiert werden.
Die Threadbesitzernachverfolgung ist aktiviert, und der aktuelle Thread hat diese Sperre bereits erworben.
Hinweise
SpinLock ist eine nicht erneute Sperre, d. h., wenn ein Thread die Sperre enthält, ist es nicht erlaubt, die Sperre erneut einzugeben. Wenn die Nachverfolgung des Threadbesitzes aktiviert ist (unabhängig davon, ob sie aktiviert IsThreadOwnerTrackingEnabledist) wird eine Ausnahme ausgelöst, wenn ein Thread versucht, eine bereits vorhandene Sperre erneut einzugeben. Wenn die Nachverfolgung des Threadbesitzes jedoch deaktiviert ist, führt der Versuch, eine bereits gehaltene Sperre einzugeben, zu einem Deadlock.
Wenn Sie anrufenExit, ohne zuerst den internen Zustand des Anrufs SpinLock aufgerufen Enter zu haben, kann beschädigt werden.