SpinLock.TryEnter 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.
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 |
TryEnter(Int32, Boolean) |
Versucht, die Sperre zuverlässig abzurufen, sodass |
TryEnter(TimeSpan, Boolean) |
Versucht, die Sperre zuverlässig abzurufen, sodass |
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
- SpinLock
- Gewusst wie: Synchronisierung auf niedriger Ebene mit SpinLock
- Gewusst wie: Aktivieren des Modus zum Nachverfolgen von Threads in SpinLock
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
- SpinLock
- Gewusst wie: Synchronisierung auf niedriger Ebene mit SpinLock
- Gewusst wie: Aktivieren des Modus zum Nachverfolgen von Threads in SpinLock
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
- SpinLock
- Gewusst wie: Synchronisierung auf niedriger Ebene mit SpinLock
- Gewusst wie: Aktivieren des Modus zum Nachverfolgen von Threads in SpinLock