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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

Ü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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.True if the lock is acquired; otherwise, false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.lockTaken must be initialized to false prior to calling this method.

Ausnahmen

Das lockTaken-Argument muss vor dem Aufrufen von TryEnter mit false initialisiert werden.The lockTaken argument must be initialized to false prior to calling TryEnter.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Hinweise

Im EnterGegensatz zu wird von TryEnter nicht blockiert, bis die Sperre verfügbar ist.Unlike Enter, TryEnter will not block waiting for the lock to be available. Wenn die Sperre nicht verfügbar ist, wenn TryEnter aufgerufen wird, wird Sie sofort zurückgegeben, ohne dass weitere spinvorgänge durchlaufen werden.If the lock is not available when TryEnter is called, it will return immediately without any further spinning.

Siehe auch

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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.

lockTaken
Boolean

True, wenn die Sperre abgerufen wird, andernfalls false.True if the lock is acquired; otherwise, false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.lockTaken must be initialized to false prior to calling this method.

Ausnahmen

millisecondsTimeout ist eine negative Zahl, jedoch nicht -1, was einen unbeschränkten Timeout darstellt.millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

Das lockTaken-Argument muss vor dem Aufrufen von TryEnter mit false initialisiert werden.The lockTaken argument must be initialized to false prior to calling TryEnter.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Hinweise

Im EnterGegensatz zu wird TryEnter nicht unbegrenzt blockieren, bis die Sperre verfügbar ist.Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. Sie wird blockiert, bis entweder die Sperre verfügbar ist oder bis millisecondsTimeout abgelaufen ist.It will block until either the lock is available or until the millisecondsTimeout has expired.

Siehe auch

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.Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

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.A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.

lockTaken
Boolean

True, wenn die Sperre abgerufen wird, andernfalls false.True if the lock is acquired; otherwise, false. lockTaken muss vor dem Aufrufen dieser Methode mit false initialisiert werden.lockTaken must be initialized to false prior to calling this method.

Ausnahmen

timeout ist eine negative Zahl ungleich -1 Millisekunden, die ein unendliches Timeout darstellt, - oder - Timeout ist größer als MaxValue Millisekunden.timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than MaxValue milliseconds.

Das lockTaken-Argument muss vor dem Aufrufen von TryEnter mit false initialisiert werden.The lockTaken argument must be initialized to false prior to calling TryEnter.

Die Threadbesitznachverfolgung wird aktiviert, und der aktuelle Thread hat diese Sperre bereits abgerufen.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Hinweise

Im EnterGegensatz zu wird TryEnter nicht unbegrenzt blockieren, bis die Sperre verfügbar ist.Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. Sie wird blockiert, bis entweder die Sperre verfügbar ist oder bis timeout abgelaufen ist.It will block until either the lock is available or until the timeout has expired.

Siehe auch

Gilt für: