SpinLock.Enter(Boolean) Metódus

Definíció

A zárolást megbízható módon szerzi be, így még ha kivétel is történik a metódushíváson belül, megbízhatóan vizsgálható annak megállapításához, lockTaken hogy a zárolást megszerezték-e.

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

Paraméterek

lockTaken
Boolean

Igaz, ha a zárolás be van szerezve; ellenkező esetben hamis. lockTaken A metódus meghívása előtt hamis értékre kell inicializálni.

Kivételek

Az lockTaken argumentumot az Enter meghívása előtt hamis értékre kell inicializálni.

A szál tulajdonjogának nyomon követése engedélyezve van, és az aktuális szál már megszerezte ezt a zárolást.

Megjegyzések

SpinLock nem újraküldéses zárolás, ami azt jelenti, hogy ha egy szál tartja a zárolást, akkor nem léphet be újra a zárolásba. Ha a szál tulajdonjogának nyomon követése engedélyezve van (függetlenül attól, hogy engedélyezve IsThreadOwnerTrackingEnabledvan-e), a rendszer kivételt fog kivenni, amikor egy szál megpróbál újra belépni egy már meglévő zárolásba. Ha azonban a szál tulajdonjogának nyomon követése le van tiltva, a már tárolt zárolás megadásának megkísérlése holtpontot eredményez.

Ha anélkül hív, Exit hogy először hívná Enter meg a SpinLock belső állapotát, megsérülhet.

A következőre érvényes:

Lásd még