SpinLock.TryEnter Metodo

Definizione

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

Overload

Nome Descrizione
TryEnter(Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

TryEnter(Int32, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

TryEnter(TimeSpan, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

TryEnter(Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

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

Parametri

lockTaken
Boolean

True se il blocco viene acquisito; in caso contrario, false. lockTaken deve essere inizializzato su false prima di chiamare questo metodo.

Eccezioni

L'argomento lockTaken deve essere inizializzato su false prima di chiamare TryEnter.

Il rilevamento della proprietà del thread è abilitato e il thread corrente ha già acquisito questo blocco.

Commenti

A differenza di Enter, TryEnter non bloccherà l'attesa della disponibilità del blocco. Se il blocco non è disponibile quando viene chiamato TryEnter, verrà restituito immediatamente senza ulteriori rotazioni.

Vedi anche

Si applica a

TryEnter(Int32, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

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)

Parametri

millisecondsTimeout
Int32

Numero di millisecondi di attesa o Infinite (-1) di attesa illimitata.

lockTaken
Boolean

True se il blocco viene acquisito; in caso contrario, false. lockTaken deve essere inizializzato su false prima di chiamare questo metodo.

Eccezioni

millisecondsTimeout è un numero negativo diverso da -1, che rappresenta un timeout infinito.

L'argomento lockTaken deve essere inizializzato su false prima di chiamare TryEnter.

Il rilevamento della proprietà del thread è abilitato e il thread corrente ha già acquisito questo blocco.

Commenti

A differenza di Enter, TryEnter non blocca a tempo indeterminato in attesa che il blocco sia disponibile. Si blocca fino a quando il blocco non è disponibile o fino a quando non millisecondsTimeout è scaduto.

Vedi anche

Si applica a

TryEnter(TimeSpan, Boolean)

Tenta di acquisire il blocco in modo affidabile, in modo che, anche se si verifica un'eccezione all'interno della chiamata al metodo, lockTaken può essere esaminato in modo affidabile per determinare se il blocco è stato acquisito.

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)

Parametri

timeout
TimeSpan

Oggetto TimeSpan che rappresenta il numero di millisecondi di attesa o un oggetto TimeSpan che rappresenta -1 millisecondi di attesa illimitata.

lockTaken
Boolean

True se il blocco viene acquisito; in caso contrario, false. lockTaken deve essere inizializzato su false prima di chiamare questo metodo.

Eccezioni

timeout è un numero negativo diverso da -1 millisecondi, che rappresenta un timeout infinito - oppure - timeout è maggiore di Int32.MaxValue millisecondi.

L'argomento lockTaken deve essere inizializzato su false prima di chiamare TryEnter.

Il rilevamento della proprietà del thread è abilitato e il thread corrente ha già acquisito questo blocco.

Commenti

A differenza di Enter, TryEnter non blocca a tempo indeterminato in attesa che il blocco sia disponibile. Si blocca fino a quando il blocco non è disponibile o fino a quando non timeout è scaduto.

Vedi anche

Si applica a