SpinLock.TryEnter Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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, |
| 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, |
| 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, |
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
- SpinLock
- Procedura: Usare SpinLock per la sincronizzazione di Low-Level
- Procedura: Abilitare la modalità Thread-Tracking in SpinLock
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
- 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
- SpinLock
- Procedura: Usare SpinLock per la sincronizzazione di Low-Level
- Procedura: Abilitare la modalità Thread-Tracking in SpinLock
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
- SpinLock
- Procedura: Usare SpinLock per la sincronizzazione di Low-Level
- Procedura: Abilitare la modalità Thread-Tracking in SpinLock