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)
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 Enterdazu blockiert TryEnter nicht, bis die Sperre verfügbar ist. Wenn die Sperre nicht verfügbar ist, wenn TryEnter aufgerufen wird, wird sie sofort ohne weiteres Drehen zurückgegeben.
Siehe auch
- 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)
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 Enterdazu blockiert TryEnter nicht unbegrenzt, bis die Sperre verfügbar ist. Es wird blockiert, bis die Sperre verfügbar ist oder bis die millisecondsTimeout Sperre abgelaufen ist.
Siehe auch
- 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)
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, die einen unendlichen Timeout darstellt - oder- 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 Enterdazu blockiert TryEnter nicht unbegrenzt, bis die Sperre verfügbar ist. Es wird blockiert, bis die Sperre verfügbar ist oder bis die timeout Sperre abgelaufen ist.
Siehe auch
- SpinLock
- Gewusst wie: Synchronisierung auf niedriger Ebene mit SpinLock
- Gewusst wie: Aktivieren des Modus zum Nachverfolgen von Threads in SpinLock