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 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.
Overload
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 |
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 |
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 |
TryEnter(Boolean)
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
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.
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 è stato acquisito. In caso contrario, False. Prima di chiamare questo metodo è necessario inizializzare lockTaken
su False.
Eccezioni
È necessario inizializzare l'argomento lockTaken
su False prima della chiamata a TryEnter.
Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.
Commenti
A differenza Enterdi , TryEnter non blocca l'attesa del blocco disponibile. Se il blocco non è disponibile quando tryEnter viene chiamato, restituirà immediatamente senza ulteriori rotazioni.
Vedi anche
- Spinlock
- Procedura: utilizzare SpinLock per la sincronizzazione di basso livello
- Procedura: abilitare la modalità di rilevamento thread in SpinLock
Si applica a
TryEnter(Int32, Boolean)
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
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.
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 oppure Infinite (-1) per un'attesa indefinita.
- lockTaken
- Boolean
True se il blocco è stato acquisito. In caso contrario, False. Prima di chiamare questo metodo è necessario inizializzare lockTaken
su False.
Eccezioni
millisecondsTimeout
è un numero negativo diverso da -1, che rappresenta un timeout infinito.
È necessario inizializzare l'argomento lockTaken
su False prima della chiamata a TryEnter.
Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.
Commenti
A differenza Enterdi , TryEnter non blocca in modo indefinito in attesa che il blocco sia disponibile. Il blocco verrà bloccato fino a quando il blocco non è disponibile o fino a quando non millisecondsTimeout
è scaduto.
Vedi anche
- Spinlock
- Procedura: utilizzare SpinLock per la sincronizzazione di basso livello
- Procedura: abilitare la modalità di rilevamento thread in SpinLock
Si applica a
TryEnter(TimeSpan, Boolean)
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
- Origine:
- SpinLock.cs
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.
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 oppure TimeSpan che rappresenta -1 millisecondi per un'attesa indefinita.
- lockTaken
- Boolean
True se il blocco è stato acquisito. In caso contrario, False. Prima di chiamare questo metodo è necessario inizializzare lockTaken
su False.
Eccezioni
timeout
è un numero negativo diverso da -1 millisecondi, che rappresenta un timeout infinito -o- timeout è maggiore di Int32.MaxValue millisecondi.
È necessario inizializzare l'argomento lockTaken
su False prima della chiamata a TryEnter.
Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.
Commenti
A differenza Enterdi , TryEnter non blocca in modo indefinito in attesa che il blocco sia disponibile. Il blocco verrà bloccato fino a quando il blocco non è disponibile o fino a quando non timeout
è scaduto.
Vedi anche
- Spinlock
- Procedura: utilizzare SpinLock per la sincronizzazione di basso livello
- Procedura: abilitare la modalità di rilevamento thread in SpinLock