Freigeben über


SpinLock.TryEnter Methode

Definition

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

Überlädt

TryEnter(Boolean)

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

TryEnter(Int32, Boolean)

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

TryEnter(TimeSpan, Boolean)

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

TryEnter(Boolean)

Quelle:
SpinLock.cs
Quelle:
SpinLock.cs
Quelle:
SpinLock.cs

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

public:
 void TryEnter(bool % lockTaken);
public void TryEnter (ref bool lockTaken);
member this.TryEnter : bool -> unit
Public Sub TryEnter (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 TryEnter mit false initialisiert werden.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.

Hinweise

Im Gegensatz dazu Enterblockiert TryEnter das Warten auf die Verfügbarkeit der Sperre nicht. Wenn die Sperre nicht verfügbar ist, wenn TryEnter aufgerufen wird, wird sie sofort ohne weiteres Drehen zurückgegeben.

Weitere Informationen

Gilt für:

TryEnter(Int32, Boolean)

Quelle:
SpinLock.cs
Quelle:
SpinLock.cs
Quelle:
SpinLock.cs

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

public:
 void TryEnter(int millisecondsTimeout, bool % lockTaken);
public void TryEnter (int millisecondsTimeout, ref bool lockTaken);
member this.TryEnter : int * bool -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)

Parameter

millisecondsTimeout
Int32

Die Anzahl von Millisekunden, die gewartet wird, oder Infinite (-1) für Warten ohne Timeout.

lockTaken
Boolean

True, wenn die Sperre abgerufen wird, andernfalls false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.

Ausnahmen

millisecondsTimeout ist eine negative Zahl, jedoch nicht -1, was einen unbeschränkten Timeout darstellt.

Das lockTaken-Argument muss vor dem Aufrufen von TryEnter mit false initialisiert werden.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.

Hinweise

Im Gegensatz dazu Enterblockiert TryEnter nicht unbegrenzt, bis die Sperre verfügbar ist. Es wird blockiert, bis entweder die Sperre verfügbar ist oder bis die millisecondsTimeout abgelaufen ist.

Weitere Informationen

Gilt für:

TryEnter(TimeSpan, Boolean)

Quelle:
SpinLock.cs
Quelle:
SpinLock.cs
Quelle:
SpinLock.cs

Versucht, die Sperre zuverlässig abzurufen, sodass lockTaken auch bei einer Ausnahme innerhalb des Methodenaufrufs zuverlässig untersucht werden kann, um zu bestimmen, ob die Sperre abgerufen wurde.

public:
 void TryEnter(TimeSpan timeout, bool % lockTaken);
public void TryEnter (TimeSpan timeout, ref bool lockTaken);
member this.TryEnter : TimeSpan * bool -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)

Parameter

timeout
TimeSpan

Eine TimeSpan-Struktur, die die Anzahl der zu wartenden Millisekunden angibt, oder eine TimeSpan-Struktur, die -1 Millisekunden zum unendlichen Warten angibt.

lockTaken
Boolean

True, wenn die Sperre abgerufen wird, andernfalls false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.

Ausnahmen

timeout ist eine andere negative Zahl als -1 Millisekunden, was ein unendliches Timeout darstellt – oder das Timeout ist größer als Int32.MaxValue Millisekunden.

Das lockTaken-Argument muss vor dem Aufrufen von TryEnter mit false initialisiert werden.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.

Hinweise

Im Gegensatz dazu Enterblockiert TryEnter nicht unbegrenzt, bis die Sperre verfügbar ist. Es wird blockiert, bis entweder die Sperre verfügbar ist oder bis die timeout abgelaufen ist.

Weitere Informationen

Gilt für: