Sdílet prostřednictvím


SpinLock.Enter(Boolean) Metoda

Definice

Získá zámek spolehlivým způsobem, takže i když dojde k výjimce v rámci volání metody, lockTaken lze spolehlivě prozkoumat, zda byl zámek získán.

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

Parametry

lockTaken
Boolean

True, pokud je zámek získán; jinak nepravda. lockTaken před voláním této metody musí být inicializována na hodnotu false.

Výjimky

Před voláním klávesy lockTaken Enter musí být argument inicializován na hodnotu false.

Sledování vlastnictví vlákna je povolené a aktuální vlákno už toto uzamčení získalo.

Poznámky

SpinLock je zámek bez opětovného zadání, což znamená, že pokud vlákno zámek drží, nesmí zámek znovu zadávat. Pokud je sledování vlastnictví vlákna povolené (jestli je povolené prostřednictvím IsThreadOwnerTrackingEnabled), vyvolá se výjimka, když se vlákno pokusí znovu zadat zámek, který už obsahuje. Pokud je ale sledování vlastnictví vlákna zakázané, pokus o zadání zámku, který už je uložený, způsobí zablokování.

Pokud zavoláte Exit bez prvního volání Enter interního SpinLock stavu, může dojít k poškození.

Platí pro

Viz také