SpinLock.TryEnter SpinLock.TryEnter SpinLock.TryEnter SpinLock.TryEnter Method

Definizione

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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.

Overload

TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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) TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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 :  -> unit
Public Sub TryEnter (ByRef lockTaken As Boolean)

Parametri

lockTaken
Boolean Boolean Boolean Boolean

True se il blocco è stato acquisito. In caso contrario, False.True if the lock is acquired; otherwise, false. Prima di chiamare questo metodo è necessario inizializzare lockTaken su False.lockTaken must be initialized to false prior to calling this method.

Eccezioni

È necessario inizializzare l'argomento lockTaken su False prima della chiamata a TryEnter.The lockTaken argument must be initialized to false prior to calling TryEnter.

Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Commenti

Diversamente Enterda, TryEnter non bloccherà in attesa che il blocco sia disponibile.Unlike Enter, TryEnter will not block waiting for the lock to be available. Se il blocco non è disponibile quando viene chiamato TryEnter, viene restituito immediatamente senza ulteriori operazioni di rotazione.If the lock is not available when TryEnter is called, it will return immediately without any further spinning.

Vedi anche

TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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 *  -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)

Parametri

millisecondsTimeout
Int32 Int32 Int32 Int32

Numero di millisecondi di attesa oppure Infinite (-1) per un'attesa indefinita.The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.

lockTaken
Boolean Boolean Boolean Boolean

True se il blocco è stato acquisito. In caso contrario, False.True if the lock is acquired; otherwise, false. Prima di chiamare questo metodo è necessario inizializzare lockTaken su False.lockTaken must be initialized to false prior to calling this method.

Eccezioni

millisecondsTimeout è un numero negativo diverso da -1, che rappresenta un timeout infinito.millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

È necessario inizializzare l'argomento lockTaken su False prima della chiamata a TryEnter.The lockTaken argument must be initialized to false prior to calling TryEnter.

Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Commenti

Diversamente Enterda, TryEnter non bloccherà in modo indefinito l'attesa del blocco.Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. Si bloccherà fino a quando il blocco non è disponibile o fino millisecondsTimeout a quando non è scaduto.It will block until either the lock is available or until the millisecondsTimeout has expired.

Vedi anche

TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.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 *  -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)

Parametri

timeout
TimeSpan TimeSpan TimeSpan TimeSpan

Oggetto TimeSpan che rappresenta il numero di millisecondi di attesa oppure TimeSpan che rappresenta -1 millisecondi per un'attesa indefinita.A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.

lockTaken
Boolean Boolean Boolean Boolean

True se il blocco è stato acquisito. In caso contrario, False.True if the lock is acquired; otherwise, false. Prima di chiamare questo metodo è necessario inizializzare lockTaken su False.lockTaken must be initialized to false prior to calling this method.

Eccezioni

timeout è un numero negativo diverso da -1 millisecondi che rappresenta un timeout infinito o il timeout è più grande di MaxValue millisecondi.timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than MaxValue milliseconds.

È necessario inizializzare l'argomento lockTaken su False prima della chiamata a TryEnter.The lockTaken argument must be initialized to false prior to calling TryEnter.

Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Commenti

Diversamente Enterda, TryEnter non bloccherà in modo indefinito l'attesa del blocco.Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. Si bloccherà fino a quando il blocco non è disponibile o fino timeout a quando non è scaduto.It will block until either the lock is available or until the timeout has expired.

Vedi anche

Si applica a